在Java中建立关系

时间:2015-11-24 09:01:02

标签: java multithreading concurrency java.util.concurrent happens-before

我知道,有两种方法可以在java中建立before-before关系:synchronized块和方法,volatile关键字。 (如果我是正确的,它不适用于最终字段)。 我的问题是:并发包中的原子变量是否相似?可以发生 - 之前由他们建立?

1 个答案:

答案 0 :(得分:6)

是的,它们是线程安全的,因此您可以确定关系发生/之前和之后。

AtomicXxxx类操作使用volatile,CAS,原子添加或惰性/无序集合。所有都有一些线程安全保证,但比同步更轻。