Java中如何保证一个方法同一时间只能被一个线程调用?如果是集群环境又该如何实现?
考察说明
考察并发控制的基础实现与分布式场景下的扩展能力
回答思路
- 能说明单机环境下使用synchronized或ReentrantLock保证互斥
- 能解释锁的可重入性、公平性和性能差异
- 能指出分布式场景下单机锁失效,需要引入分布式锁
- 能对比Redis分布式锁与ZooKeeper分布式锁的实现与一致性
- 能讨论分布式锁的边界问题如超时、误删、续期与fencing token
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。