编程中的“原子”和“同步”同义词是什么?

时间:2016-08-25 13:43:40

标签: java asynchronous atomic synchronous

“原子”和“同步”是否意味着相同或存在一些细微差别?

查看this question的答案,我认为我的问题的答案是肯定的,它们是同义词。以下是否正确?

  • 同步操作将在下一个操作开始之前完成
  • 原子操作与同步操作相同
  • 异步操作将在下一个操作开始之前或之后的某个时刻完成

1 个答案:

答案 0 :(得分:10)

不太一样。 原子操作是不能细分为较小部分的操作。因此,在Java中,分配给int是原子的:没有任何东西可以打断它,它可以完成也可以不完成。

同步操作是通过使用synchronized关键字调用的某些编程机制模拟原子操作的操作。其实现可能会有所不同。因此,在同步块中,运行时系统会强制执行所谓的关键区域,其中只有一个控制线程可以同时传递。