采取并行计算发挥多核CPU的威力
采用并行计算发挥多核CPU的威力
在多核CPU环境中,通过如下方式我们能够充分利用多核的优势为加速我们的应用:
1.必须把一个大的计算任务分割成多个任务并让他们并行执行。
2.对于计算密集型程序,线程数最好限制在CPU内核数以内。
3.对于IO密集型程序,线程数可以采用如下公式来预估:
线程数 = CPU内核数 / ( 1 - IO阻塞率 ) , 阻塞率在 0 到 1 之间
如:在一个4核系统中,执行一个网络应用从远程服务器上获取数据,有90%的时间是花费在IO操作上的,那么我们的线程数为 4 / (1-0.9) = 40
4. 并行任务之间尽量避免状态以来,而应采用共享不可变数据和隔离可变数据。
5. 在JAVA平台上开发时,应该尽量不要用旧的并发API , 如 Threads , wait , notify 等,这些开发包已经被新的开发包代替了,新的API为我们提供了更好的灵活性以及更高的性能。