|
4
|
| Coder-Man · 技术社区 · 8 年前 |
|
|
1
7
是的,但比这更糟… 公用池的默认大小为 1小于 处理器/核心的数量(如果只有1个处理器,则为1),因此您实际上正在处理 三 一次,不是4次。 但是您最大的性能损失是使用并行流(如果您使用它们),因为它们也使用公共池。流用于超快速处理,因此您不希望它们与繁重的任务共享资源。 如果有设计为异步的任务(即需要几毫秒以上的时间),那么应该创建一个池来运行它们。这样的池可以由所有调用线程静态地创建和重用,从而避免每次使用时创建池的开销。您还应该通过对代码进行压力测试来调整池大小,以找到最佳大小,从而最大限度地提高吞吐量和减少响应时间。 |
|
|
2
4
那么,你是说
如果是这样,并且@bohemian所说的是真的,那么您不应该使用默认线程池。 @Bohemian说默认池的线程数与主机的CPU数大致相同。如果你的申请有很多 计算界限 要在后台执行的任务。但是如果你的应用程序有很多线程在等待来自不同网络服务的回复,那就不太好了。这是一个完全不同的故事。 我不是这方面的专家,我不知道(除了做实验)如何找出线程的最佳数量,但是无论这个数字是多少,它都与系统拥有多少CPU无关,因此,您不应该使用该pu的默认池。常规用途。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |