线程假死
转载:https://blog.csdn.net/weixin_38178584/article/details/78785022
当1个生产者多个消费者或多个生产者多个消费者的场景下,用notify通知wait线程是容易出现假死线程,理解这个现象主要要理解下面两点:
1、notify的唤醒消息发出后只能唤醒一个进入wait的线程,但只是唤醒它,让CPU有调度它的可能性,并不是说一定会执行这个被唤醒的线程,是否被执行时随机的;
2、唤醒了同类的线程,如多个消费者时,当1个消费者消费后应该唤醒异类即生产者的线程,但也可能唤醒的是同类的线程,如果唤醒的是同类线程就有进入假死状态的可能;
解决方法:用notifyall方法进行通知就可以避免假死现象了。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
