private final class Worker
extends AbstractQueuedSynchronizer // 基于AQS来实现线程中断
implements Runnable // 存储需要执行的任务
{
/**
* This class will never be serialized, but we provide a
* serialVersionUID to suppress a javac warning.
*/
private static final long serialVersionUID = 6138294804551838833L;
/** 工作线程的Thread对象,初始化时构建出来 */
final Thread thread;
/** 需要执行的任务 */
Runnable firstTask;
/** Per-thread task counter */
volatile long completedTasks;
/**
* Creates with given first task and thread from ThreadFactory.
* @param firstTask the first task (null if none)
*/
Worker(Runnable firstTask) {