gpt4 book ai didi

java - 缓存线程池如何重用现有线程

转载 作者:IT老高 更新时间:2023-10-28 20:45:16 25 4
gpt4 key购买 nike

我刚刚开始研究 Java 的 Executors 类和 newCachedThreadPool( ) 方法。根据 API,生成的线程池会为新任务重用现有的 Thread 对象。

我有点困惑这是如何实现的,因为我在 Thread API 中找不到任何方法可以让您设置现有 Thread 对象的行为.

例如,您可以从 Runnable 对象创建一个 new Thread,这使得 Thread 调用Runnablerun( ) 方法。但是,Thread API 中没有将 Runnable 作为参数的 setter 方法。

如果有任何指点,我将不胜感激。

最佳答案

基本上想象池中的每个线程都这样做:

public void run() {
while(true) {
if(tasks available) {
Runnable task = taskqueue.dequeue();
task.run();
} else {
// wait or whatever
}
}
}

关于java - 缓存线程池如何重用现有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13699335/

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