线程生产者与消费者--等待唤醒机制--虚假唤醒问题
首先是生产者和消费者的代码示例:运行没做锁的会导致的结果(面试经常会问到):
共享资源都会出现的问题生产者会一直生产,消费者会一直消费,导致资源的浪费
如果用上同步方法:
用上等待唤醒机制,这里是没指定唤醒某个线程而是唤醒所有
如果生产者线程先暂停,让消费者线程先运行:
然后消费者线程循环就结束了
但是生产者循环正好还有一次的话如下:
但是如果说将上面的问题将else去除掉的话
但是上面都是只有生产者消费者各一条线程,如果多条线程就会出现下面的情况: