在Java多线程编程中,关于线程通信的等待/通知机制,以下哪项描述是正确的?
答案解析
选项A错误,因为notify()方法会随机叫醒一个正在等待的线程,而notifyAll()方法会叫醒所有正在等待的线程。选项B正确,wait()方法确实会使当前线程进入等待状态,直到另一个线程调用notify()或notifyAll()方法。选项C正确,使用wait()方法时,必须持有对象的锁,否则会抛出IllegalMonitorStateException异常。选项D错误,notifyAll()方法会叫醒所有正在等待的线程,而不仅仅是与当前线程持有相同锁的等待线程。
正确答案:B