如果两个对象同时执行被 synchronized 修饰的普通方法,它们之间是互斥的吗?
考察说明
考察对 synchronized 内置锁(monitor lock)绑定对象的理解
回答思路
- 明确 synchronized 普通方法锁的是调用该方法的对象实例,即该对象的 monitor
- 说明两个不同对象调用同一 synchronized 方法时,锁是不相同的,因此不互斥,可并行执行
- 进一步说明同一对象多次调用同一 synchronized 方法或被其他线程调用时是互斥的
- 能够区分静态 synchronized 方法锁的是 Class 对象
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。