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

在多线程编程中,若线程A持有锁后内部功能执行时间超出预期而不释放锁,线程B如何在不影响线程A功能的前提下,按照原有时序预期获取锁?请仅通过锁操作实现。

北京经纬恒润科技股份有限公司后端开发专业服务问题拆解风险判断技术原理

考察说明

考察对锁超时、可重入锁、锁公平性及强制释放机制的理解与设计

回答思路

  1. 理解线程A不释放锁的场景本质是锁被长时间占用
  2. 提出锁超时机制,如ReentrantLock的tryLock带超时,使线程B在超时后放弃或重新尝试
  3. 讨论超时强制释放锁的代价,如线程A尚未完成时的数据一致性问题
  4. 说明无超时或强制释放时,死锁或长时间阻塞的风险
  5. 结合功能不受损的要求,分析强制释放需配合任务状态确认或补偿机制
本题已收录答题指导

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

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