【问题标题】:Atomic naming for Atomic classes in java concurrent packagejava并发包中原子类的原子命名
【发布时间】:2018-10-29 16:33:05
【问题描述】:

我们有像 AtomicInteger 这样用于增量操作的原子类。原子操作意味着单次操作,但增量需要 3 次操作。我的问题是为什么它被命名为 AtomicInteger

【问题讨论】:

  • 我可能错了。但据我所知, atomic 并不严格意味着在 1 次操作中可行(在这种情况下)。这意味着它是一个不可中断的进程,并且从外部看,它可以看作是一个操作
  • 它是作为 CAS 完成的......

标签: java concurrency atomic


【解决方案1】:

“原子”并不一定意味着它是一个单一的操作。我喜欢将其视为“不可分割”的意思,也就是说,它要么完全发生,要么根本不发生。即使存在操作尚未完成的中间状态,从使用AtomicInteger 的任何其他类中,原子操作也会显示完全完成或根本未完成。

【讨论】: