AbstractQueuedSynchronizer 可以同时实现排它锁和共享锁
CountDownLatch Semaphore CyclicBarrier ReentrantLock Condition FutureTask