在Java线程通信中,以下哪个方法可以确保线程在等待条件满足时不会浪费CPU周期?
答案解析
选项A的yield()方法使当前线程让出CPU执行权,但不会释放锁,因此不适合用于线程通信。选项B的sleep()方法使线程暂停执行指定的时间,但同样不会释放锁。选项C的wait()方法使当前线程等待,直到其他线程调用notify()或notifyAll()方法唤醒它,同时会释放锁,因此可以有效地避免CPU周期的浪费。选项D的notify()方法用于唤醒在此对象监视器上等待的单个线程,但它本身并不涉及线程的等待。
正确答案:C