notify丢失: 假设线程A因为某种条件在条件队列中等待,同时线程B因为另外一种条件在同一个条件队列中等待,也就是说线程A/B都被同一个Object.wait()挂起,但是等待的条件不同. 现在假设线程B的线程被满足,线程C执行一个notify操作,此时JVM从Object.wait()的多个线程(A/B)中随机挑选一个唤醒,不幸的是唤醒了A.此时A的条件不满足,于是A继续挂起.而此时B仍然在傻傻的等待被唤醒的信号.也就是说本来给B的通知却被一个无关的线程持有了,真正需要通知的线程B却没有得到…