多线程有用到什么程度?

时间:2011-08-24 04:52:50

标签: java multithreading concurrent-programming

  • 我有一个任务,可以划分为多个独立的子任务,每个子任务可以在Java中的单独线程中运行。
  • 我想了解什么是最佳线程数,之后增加线程数不会带来任何性能提升。

2 个答案:

答案 0 :(得分:5)

这里有很多因素。如果您的任务受CPU限制,则仅受处理器/核心数量的限制。如果您的任务倾向于IO绑定,那么您可能会从比处理器/核心更多的线程中受益。多少取决于您的任务花在等待IO上的时间,相对于他们花费多少时间进行实际计算。

所以,像往常一样,这取决于你在做什么。

对于CPU绑定进程,运行线程的数量不应超过核心数。

最后,您需要尝试不同的配置,看看什么效果最好。

答案 1 :(得分:0)

Brian Goetz检查这个post,相当陈旧但信息量很大