在Java中设计线程安全的计数器时,下列哪种实现能保证原子性和可见性?
答案解析
核心考点:并发原子操作的实现方式。
解题思路分析:
1. volatile保证可见性但不保证原子性
2. synchronized和Lock可以保证原子性
3. 原子类的CAS机制实现无锁安全
4. 局部锁变量无法实现有效同步
选项分析:
A错误:count++不是原子操作
B正确:但题目要求最佳实践,C更优
C正确:AtomicInteger使用CAS保证原子性,且内存可见
D错误:局部锁每个线程独立,无法互斥
易错点提醒:容易混淆各种同步机制的作用范围,特别是局部锁的失效问题
正确答案:C