我经历了几个问题,如POSIX Threads on a Multiprocessor System和Concurrency of posix threads in multiprocessor machine和Threads & Processes Vs MultiThreading & Multi-Core/MultiProcessor : How they are mapped?在多进程多处理器环境
基于这些和其他一些维基文章去选择的线程数,我相信,有三个基本的作品即一个系统,输入,处理和输出
对于CPU - CPU密集型的线程绑定处理号(申请号*每个应用程序线程)应该是处理器的核的apprx 1〜1.5倍的数量。
输入和输出线程必须足够大,以消除任何瓶颈。例如,对于基于查询/查询确认和响应/响应确认模型的通信系统,在I/O等待状态中不能浪费时间。
如果对动态内存有很大的要求,最好使用比线程更多的进程(以避免内存同步升级)。
这些参数是否相当一致,同时确定我们应用程序中的线程数量?我们是否需要查看其他参数?
感谢马丁..但为什么操作系统有它的作用?是否因为指令(调度等)的最终执行顺序取决于操作系统?我猜想,管道衬里和无序执行是硬件线程的属性..请纠正我,如果我错了.. – 2012-04-13 10:39:53
OS是界面的基础。不可避免地,性能差异将浮出水面。其中之一是调度算法。线程调度的最终顺序取决于操作系统,是的。管道衬里和无序执行是硬件优化,是的。 – 2012-04-13 10:47:59
再一次感谢..想想我最好的前进方向是开放性的想法...... :) – 2012-04-13 10:53:26