java复用
发布时间: 2024-03-12 13:40:02
A. java 线程池是怎么复用线程的
线程重用的核心是,它把Thread.start()给屏蔽起来了(一定不要重复调配携用),然后它自己有友卖滚一个Runnable.run(),循环在跑,跑的过程中不断检查我们是否有新加入的子Runnable对象,有就调一下我们的run(),其实就好余一个大run()把其它小run()#1,run()#2,...给串联起来了,基本原理就这么简单。
JDK代码节选
/**
* Main run loop
*/
public void run() {
try {
Runnable task = firstTask;
firstTask = null;
while (task != null || (task = getTask()) != null) {
runTask(task);//这里最终会调用task.run()
task = null;
}
} finally {
workerDone(this);
}
}
}
热点内容