什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)【面试题详解】

今天爱分享给大家带来什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)【面试题详解】,希望能够帮助到大家。

原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。

int++并不是一个原子操作,所以当一个线程读取它的值并加1时,另外一个线程有可能会读到之前的值,这就会引发错误。

在 java.util.concurrent.atomic 包中添加原子变量类之后,这种情况才发生了改变。
所有原子变量类都公开比较并设置原语(与比较并交换类似),这些原语都是使用平台上可用的最快本机结构(比较并交换、加载链接/条件存储,最坏的情况下是旋转锁)来实现的。
java.util.concurrent.atomic 包中提供了原子变量的 9 种风格( AtomicInteger; AtomicLong; AtomicReference; AtomicBoolean;原子整型;长型;引用;及原子标记引用和戳记引用类的数组形式,其原子地更新一对值)。

人已赞赏
Java

Java多线程中调用wait 和 sleep 方法有什么不同?【面试题详解】

2020-11-6 16:21:14

Java

一个线程两次调用 start 方法会出现什么情况【面试题详解】

2020-11-6 16:30:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();