java - "atomic"和 "synchronous"在编程中是同义词吗?

标签 java asynchronous atomic synchronous

“原子”和“同步”是同一个意思还是有细微差别?

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

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

最佳答案

不太一样。 原子 操作是不能分割为更小部分的操作。因此,在 Java 中,分配给 int 是原子的:没有什么可以中断它,它要么完成要么不完成。

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

关于java - "atomic"和 "synchronous"在编程中是同义词吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39147037/

相关文章:

java - 使用 "My files"应用程序单击按钮打开文件夹

java - Azure CI Pipeline 无法使用 2 个项目构建 Java/Maven 解决方案

javascript - 在执行操作之前等待 2 个异步 API 调用的结果

multithreading - 给定足够的内存,当只有一个专用的写线程时,是否不需要锁?

opencl - __local 原子在 opencl

java - Amazon 是否提供低成本云存储后门,用于通过 Google App Engine 等 Servlet 提供文件?

java - GImage的地址

sqlite - 使用 SQLite.Net.Async 的 Xamarin.Forms

javascript - 使用 promise 时的逻辑流程

c++ - 在多线程环境中用原子保护两个变量