摘要:
Java中提供了两种锁:synchronized和lock锁,ReentrantLock属于lock锁,是互斥锁,可以让多线程执行期间只有一个线程在执行指定一段代码。 二、ReentrantLock的lock方法: 2.1简单分析 进入lock方法后,发现内部调用了sync.lock()方法,去找方 阅读全文
摘要:
执行任务的流程,并且加入了中断的判断 //执行任务 final void runWorker(ThreadPoolExecutor.Worker w) { // 拿到当前的工作线程 Thread wt = Thread.currentThread(); // 拿到Worker对象中封装的任务 Run 阅读全文
摘要:
private final class Worker extends AbstractQueuedSynchronizer //线程中断 implements Runnable //存储需要执行的任务 { private static final long serialVersionUID = 61 阅读全文
摘要:
1 //添加工作线程 2 private boolean addWorker(Runnable firstTask, boolean core) { 3 // 对线程池状态的判断以及对工作线程数量的判断 4 // 外层for循环的标识 5 retry: 6 for (;;) { 7 // 获取ctl 阅读全文