JUC包中的锁,包括:Lock接口,ReadWriteLock接口,LockSupport阻塞原语,Condition条件,AbstractOwnableSynchronizer/AbstractQueuedSynchronizer/AbstractQueuedLongSynchronizer三个抽象类,ReentrantLock独占锁,ReentrantReadWriteLock读写锁。由于CountDownLatch,CyclicBarrier和Semaphore也是通过AQS来实现的。
线程中断总结
线程中断是开发者为了响应用户取消任务的请求让线程安全退出的一种推荐做法。它通过一个中断标记来让线程知道是否有其它线程请求让它中断,然后开发者让线程在合适的时候让自己退出。即不会造成不能停止线程导致的用户不能取消任务问题,也不会因为强行停止任务而导致数据不一致等问题。