08.原子类-Java第一阶段

https://www.cnblogs.com/senlinyang/p/7856339.html

Java原子操作类汇总

当程序更新一个变量时 ,如果是多线程同时更新这个变量 ,可能得到的结果与 期望值不同 。 比如:有一个变量i ,A线程执行i+1 ,B线程也执行i+1 ,经过两个线 程的操作后 ,变量i的值可能不是期望的3 ,而是2 。这是因为 ,可能在A线程和B 线程执行的时候拿到的i的值都是1 ,这就是线程不安全的更新操作 ,通常我们会 使用synchronized来解决这个问题 ,synchronized能保证多线程不会同时更新变量i .

从java1 .5开始 ,jdk提供了java . ut il . concurrent . atomic包 ,这个包中的 原子操作类 ,提供了一种用法简单 ,性能高效 ,线程安全的更新一个变量的方 式 。atomic包里面一共提供了13个类 ,分为4种类型 ,分别是:原子更新基本类 型 ,原子更新数组 ,原子更新引用 ,原子更新属性 ,这13个类都是使用Unsafe实 现的包装类 。


更多内容 公众号:天堂比不过家乡
,别忘了 赞助关注哦!

你可能感兴趣的:(08.原子类-Java第一阶段)