Java
未读
JAVA:虚假唤醒问题
产生原因 线程等待的条件应该使用while多次判断,而不是用if只判断一次,如本例中:同时存在多个消费者和生产者。 例如:生产者线程A生产完成之后,理想状态下是只唤醒一个处于wait状态的消费者B或者D去消费。但是实际情况是BD两个线程都会被唤醒,因为BD的业务判断条件使用的是if,就会导致BD同时