三种阻塞唤醒机制 wait notify 必须在synchronized里面必须持有锁先等待后唤醒 await Signal Lcok lock = new ReentrantLock();Condition condition = lock.newCondition();必须在lock.lock(),lock.unlock()里面才能使用必须持有锁先等待后唤醒 LockSupport 无锁块要求不需要先等待后唤醒成双成对要牢记许可机制,颁发许可之后就能使用许可证不会积累,最多只有一个