后端岗位面试题更新 2026-08-05

线程的sleep()方法和wait()方法有什么区别?

携程后端开发消费品/零售问题拆解技术原理Java

考察说明

考察多线程基础中线程状态切换与锁释放机制的理解

回答思路

  1. 明确sleep属于Thread类,wait属于Object类
  2. 指出sleep不释放锁,wait释放锁并进入等待队列
  3. 说明wait必须在同步块或同步方法中调用
  4. 说明sleep可无锁调用且不会影响锁状态,wait需被notify/notifyAll唤醒或超时
  5. 比较两者在异常处理和中断响应上的差异
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。