2021-04-18 11:26  阅读(65)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-thread-multiple.html

Java线程教程 - Java原子变量

新线程并发包

java.util.concurrent和java.util.concurrent.atomic和java.util.concurrent.locks包括非常有用的并发构造。

线程并发包以四种方式支持并发。

  • 原子变量
  • 同步器
  • 并发集合

原子变量

原子变量类的命名类似于AtomicXxx,例如,AtomicInteger类用于表示一个int变量。

原子变量可用于在不使用任何锁的情况下以原子方式对单个变量执行多个指令。

  • 标量原子变量类

    AtomicInteger,AtomicLong和AtomicBoolean类分别支持对原始数据类型int,long和boolean的操作。

    当引用变量需要以原子方式更新时,AtomicReference类用于处理引用数据类型。

  • 原子数组类

    有三个类称为AtomicIntegerArray,AtomicLongArray和AtomicReferenceArray,它们表示一个int,long和引用类型的数组,其元素可以进行原子性更新。

  • 原子字段更新程序类

    有三个类称为AtomicLongFieldUpdater,AtomicIntegerFieldUpdater和AtomicReferenceFieldUpdater,可用于使用反射以原子方式更新类的易失性字段。

    要获得对这些类的对象的引用,您需要使用他们的工厂方法newUpdater()。

  • 原子复合变量类

例子

以下代码显示如何使用AtomicLong类来创建计数器。

    import java.util.concurrent.atomic.AtomicLong;
    
    public class AtomicCounter {
      private AtomicLong value = new AtomicLong(0L);
    
      public long next() {
        return value.incrementAndGet();
      }
    }
    
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 原子变量
上一篇
Java 线程状态
下一篇
Java 显式锁