.Net环境下,在需要进行大数据量分析的多线程设计中,如何合理的规划、确定所使用线程的数量?与CPU多核等物理数据可考虑的因素有多少?以及对如何避免所有CPU负荷均被占用?谢谢!
数据读写和数据计算分离,采用"消费者-生产者"模式,可调节消费者,生产者个数,在特定的硬件条件下测试,
取适合的值.
避免所有CPU负荷均被占用的方法,一是通过监控CPU使用率实时调节消费者,生产者个数,二是让应用跑在特定的CPU下(比如用虚拟机,或者给进程指定运行 CPU).
数据计算是占用CPU的罪魁祸首.