多线程--简单生产者消费者升级版

如果有多个生产者和多个消费者 像之前那样就会产生安全问题,例如 会打印两个生产者一个消费者 或者一个生产者两个消费者 。   为了防止这种情况的发生(线程醒了没有去判断标记),需要将if()改为while 这样当线程有等待状态被唤醒的时候可以进行循环判断,但是又由于这样会使同一类线程全部阻塞进入等待状态,没有唤醒另一类线程 因此需要将this.notify()变为this.notifyAll();
相关文章
相关标签/搜索