【问题标题】:When is it appropriate to replace AtomicReference with a volatile member? [duplicate]什么时候用 volatile 成员替换 AtomicReference 合适? [复制]
【发布时间】:2017-08-11 16:02:59
【问题描述】:

如果一个类有一个私有的AtomicReference 成员,并且它只调用AtomicReference#get 和AtomicReference#set,那么用可以为空的volatile 成员替换它是否(a)安全并且(b)有用?

【问题讨论】:

    标签: java concurrency


    【解决方案1】:

    正如here 的回答,如果您只使用get() 和set() 方法,那么两者之间并没有真正的区别。

    安全吗?是的。

    有用吗?值得商榷,考虑到您将来可能需要哪些附加功能。如果你想让它尽可能简单,volatile 可能(可以说)提供更好的可读性。我通常坚持AtomicReference,因为我不能总是预测未来的需求,而且我不太喜欢在可以避免的情况下更改变量类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 2011-09-13
      • 2016-02-17
      • 2011-03-30
      相关资源
      最近更新 更多