Java中的AtomicLong有什么作用?

可以解释一下AtomicLong的用途吗?例如,以下语句有什么区别?

private Long transactionId;

private AtomicLong transactionId;

回答:

这两个对象之间存在 差异,尽管最终结果是相同的,但它们绝对是非常不同的,并且在非常不同的情况下使用。

在以下情况下使用基本Long对象:

  • 您需要包装器类
  • 您正在使用夹
  • 您只想处理对象,而不要处理基元(可以解决问题)

您使用以下AtomicLong情况:

  • 您必须保证该值可以在并发环境中使用
  • 您不需要包装器类(因为此类不会自动装箱)

Long本身不允许线程互操作,因为两个线程可以看到并更新相同的值,但是使用AtomicLong,可以很好地保证多个线程可以看到的值。

实际上,除非您费心使用线程,否则无需使用AtomicLong

以上是 Java中的AtomicLong有什么作用? 的全部内容, 来源链接: utcz.com/qa/435815.html

回到顶部