【发布时间】:2012-07-10 06:24:41
【问题描述】:
我有一个使用远程主机创建 SSL 套接字的 java 应用程序。我想使用线程来加速这个过程。
我想要不影响程序性能的最大可能利用率。如何确定要使用的合适线程数?运行以下行后:Runtime.getRuntime().availableProcessors(); 我得到了 4。我的处理器是 Intel core i7,具有 8 GB RAM。
【问题讨论】:
-
@DarthVader 我认为问题是:什么尺寸?
-
@DarthVader:我已经在使用游泳池了。但是我应该在池中定义多少个线程?我怎么知道哪个号码适合我的电脑?
-
是的,您有两个选择,您可以创建一个固定的线程池,其大小与您机器中的内核数相同。或者你可以有一个线程池来按需创建更多线程。 stackoverflow.com/questions/1028707/…
-
基本上你不应该担心你需要创建的核心数量和线程数量。影响线程切换的因素很多,虽然有线程切换,但其他线程可以利用CPU。所以每个核心一个线程并不能很好地应用。
标签: java multithreading