永发信息网

java 线程池是怎么复用线程的

答案:1  悬赏:50  手机版
解决时间 2021-11-24 16:31
  • 提问者网友:椧運幽默
  • 2021-11-24 12:34
java 线程池是怎么复用线程的
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-11-24 13:35
线程重用的核心是,它把Thread.start()给屏蔽起来了(一定不要重复调用),然后它自己有一个Runnable.run(),循环在跑,跑的过程中不断检查我们是否有新加入的子Runnable对象,有就调一下我们的run(),其实就一个大run()把其它小run()#1,run()#2,...给串联起来了,基本原理就这么简单。

JDK代码节选

public void run() {
try {
Runnable task = firstTask;
firstTask = null;
while (task != null || (task = getTask()) != null) {
runTask(task);//这里最终会调用task.run()
task = null;
}
} finally {
workerDone(this);
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯