The principle of thread reuse in a threadpool 线程池中线程实现复用的原理
原理
注意点
// Some code
getTask() {
for (;;) {
try {
int state = runState;
if (state > SHUTDOWN) return null;
Runnable r;
if (state == SHUTDOWN) // Help drain
queue r = workQueue.poll();
else if (poolSize > corePoolSize || allowCoreThreadTimeOut)
r = workQueue.poll(keepAliveTime, TimeUnit.NANOSECONDS);
else r = workQueue.take();References
Last updated