logo

42. notify() 和 notifyAll() 有什么区别?

42. What is the difference between notify() and notifyAll()?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Concurrency

标签: notify, notifyAll

参考答案摘要

答案 notifyAll() 会唤醒所有的线程,notify() 之后唤醒一个线程。notifyAll() 调用后,会将全部线程由等待池移到锁池,然后参与锁的竞争,竞争成功则继续执行,如果不成功则留在锁池等待锁释放然后再次参与竞争。而 notify() 只会唤醒一个线程,具体唤醒哪一个线程由虚拟机控制。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

42. notify() 和 notifyAll() 有什么区别?

Mediumjavaconcurrency

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案