java并发编程-12个原子类
背景 多线程更新变量的值,可能得不到预期的值,当然增加syncronized关键字可以解决线程并发的问题。 这里提供另外一种解决问题的方案,即位于 java.util.concurrent.atomic包下的原子操作类,提供了一种用法简单,性能高效,线程安全的更新变量的方式。 其它两个附带的类顺带看了一下: LongAddr 多线程先的sum操作 LongAccomulator 多线程下的函数式操作,性能低于AtomicLong,主要是函数式的支持; 简单分类: 基本类型原子类 使用原子的方式更新基本类型,包括: AtomicBoolean AtomicInteger AtomicLong 核心方法: 直接看源码了。 类签名: public class AtomicInteger extends Number implements java.io.Serializable {} 方法 功能说明 构造方法 两个构造方法,不传或者传入值 get方法 get()获取值;对应的有set(int)方法,layzySet(int) 懒设置 getAndAdd(int) 获得老值然后增加一个数字, 对应的有addAndGet(int)增加一个数字并返回新值 getAndSet(int) 获得老值然后更新为新值 getAndIncreament() 获得老值然后+1