gpt4 book ai didi

java - 为什么在创建 FixedThreadPool 和 CachedThreadPool 时使用不同的 Queue?

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:02 27 4
gpt4 key购买 nike

<分区>

执行者#newFixedThreadPool:

public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
}

执行者#newCachedThreadPool:

public static ExecutorService newCachedThreadPool() {
return new ThreadPoolExecutor(0, Integer.MAX_VALUE,
60L, TimeUnit.SECONDS,
new SynchronousQueue<Runnable>());
}

为什么两个threadPool使用不同的Queue?我查阅了关于 LinkedBlockingQueue 的 java 文档和 SynchronousQueue ,但我还是不知道为什么要用在这里,是性能考虑还是其他?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com