彻底搞懂synchronized(从偏向锁到重量级锁)
从源码角度彻底理解ReentrantLock(重入锁)
为什么在Java中object.wait()/notify()方法必须在持有锁的情况下才能执行?
并发包下常见的同步工具类详解(CountDownLatch,CyclicBarrier,Semaphore)