多线程学习三 notify 与 notifyAll

之前一直跟架构师去面试别人,他总希望问一个问题:notify 与notifiall的区别,听了很多人的答案,其实都差不多,但是他总感觉不满意,现在自己也总结了一下:

notify()唤醒一条线程

notifyAll()唤醒全部线程

notify随机唤醒一条等待队列里的线程,而notifyall是唤醒全部,让全部等待线程进行竞争资源。如果使用notify,可能某些线程会一直没有被唤醒。

除非深思熟虑,尽量使用notifyall

发布了23 篇原创文章 · 获赞 19 · 访问量 1419

猜你喜欢

转载自blog.csdn.net/u012335601/article/details/89304527