ConcurrentHashMap 的线程安全是否意味着复合操作自动原子?
参考答案
单次受保证的 Map 操作可以并发安全执行,但先 get 再判断再 put 是多步流程,不会自动成为一个原子操作。
题目解析
需要按键原子计算时使用 compute、putIfAbsent 等 API,并确认映射函数的副作用与执行次数假设。
单次受保证的 Map 操作可以并发安全执行,但先 get 再判断再 put 是多步流程,不会自动成为一个原子操作。
需要按键原子计算时使用 compute、putIfAbsent 等 API,并确认映射函数的副作用与执行次数假设。