1. Thread的Sleep()方法:必须要指定时间:;需要捕获异常;不会释放锁
2. Object的wait()方法和notify()方法:必须配合sychronized关键字使用;notify()方法在wait()方法之后执行,否则会丢失唤醒信号;需要捕获异常;会释放锁
3. Condition接口的await()与Signal()方法:必须配合lock.lock()方法使用:主要是可以定点唤醒。
4.LockSupport的park()和unpark(thread)方法:不需要捕获异常;不会释放锁;可以通过unpark唤醒,unpark可以比park先执行,不会丢失唤醒信号。