【发布时间】:2009-03-14 20:47:37
【问题描述】:
现代计算机的内核越来越多。我们想改变我们当前的线性算法来使用这些内核。
只有在有空闲处理器的情况下,拆分任何算法以使用不同的线程才有意义。
如果有空闲处理器,是否有任何好的库可以帮助并行化某些步骤?
我会举一些例子。
- 如果只有一个处理器,创建多个线程是没有意义的。它会降低速度。
- 如果在一个 core duo 上运行 2 个进程(服务器上的请求),那么启动线程也是没有意义的。
- 如果一个核心二重奏上只有一个进程,那是有意义的。
抽象算法有 4 个步骤 A、B、C 和 D。步骤 A、B 和 C 可以并行执行。步骤 D 需要 A、B 和 C 的结果。
编辑:我的意思是数学算法。无 IO,无事件等
【问题讨论】:
-
即使添加了编辑,仍有很多原因导致您的线程被暂停。所以我还是觉得你的例子不是很好。
标签: java algorithm multithreading multicore