Java中线程间通信有哪些方式?请结合示例说明wait/notify机制及其注意事项。
考察说明
考察线程协作、等待唤醒机制与锁的正确使用
回答思路
- 列举常见线程通信方式:共享内存、wait/notify、volatile、并发工具(CountDownLatch/CyclicBarrier/BlockingQueue)
- 准确描述wait/notify的使用前提:必须在synchronized块内
- 说明wait会释放监视器锁,notify只唤醒一个线程,notifyAll唤醒全部
- 指出wait/notify可能出现的假唤醒(spurious wakeup),建议用while循环检查条件
- 能补充Condition、BlockingQueue等替代方案的场景优势
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。