Object类中关于等待/唤醒的API详细信息如下:
方法 | 方法说明 |
---|---|
notify() | 唤醒在此对象监视器上等待的单个线程。 |
notifyAll() | 唤醒在此对象监视器上等待的所有线程。 |
wait() | 让当前线程处于等待(阻塞)状态,直到其它线程调用此对象的notify()或notifyAll()方法,当前线程被唤醒(进入就绪状态) 。 |
wait(long timeout) | 让当前线程处于等待(阻塞)状态,直到其它线程调用此对象的notify()或notifyAll()方法,或者超过指定的时间量,当前线程被唤醒(进入就绪状态) 。 |
wait(long timeout, int nanos) | 让当前线程处于等待(阻塞)状态,直到其它线程调用此对象的notify()或notifyAll()方法,或者其它某个线程中断当前线程,或者超过指定的时间量,当前线程被唤醒(进入就绪状态) |
使用场景:主线程启用wait,是等待子线程使用notify唤醒