我知道,在java中建立happens-before关系有两种方法:同步块(synchronized block)和方法、volatile关键字。 (如果我是正确的,它不适用于最终字段)。 我的问题是:并发包中的原子变量的行为是否相似?他们可以建立happens-before吗?
最佳答案
是的,它们是线程安全的,因此您可以确定关系发生/之前和之后。
AtomicXxxx类操作使用 volatile 、CAS、原子添加或惰性/无序集。所有这些都有一些线程安全保证,但比同步更轻量。
关于java - 在Java中建立happens-before关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33889299/