热门
最新
红包
立Flag
投票
同城
我的
发布
Java从JDK 1.5开始提供了java.util.concurrent.atomic包,这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式.Atomic包里的类基本都是使用Unsafe实现的包装类
1.原子更新基本类型类
AtomicBoolean:原子更新布尔类型。
AtomicInteger:原子更新整型
AtomicLong:原子更新长整型
以AtomicInteger为例:
int addAndGet(int delta):以原子方式将输入的数值与实例中的值(AtomicInteger里的value)相加,并返回结果。
boolean compareAndSet(int expect,int update):如果输入的数值等于预期值,则以原子方式将该值设置为输入的值。
int getAndIncrement() :以原子方式将当前值加1,注意,这里返回的是自增前的值
void lazySet(int newValue):最终会设置成newValue,使用lazySet设置值后,可能导致其他 线程在之后的一小段时间内还是可以读到旧的值
int getAndSet(int newValue):以原子方式设置为newValue的值,并返回旧值。
————————————————
版权声明:本文为CSDN博主「阿璐4r」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/asc_123456/article/details/118701726
CSDN App 扫码分享
评论
点赞
打赏
- 复制链接
- 举报