JMM是如何保证原子性呢?

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

3.3.1加锁

        锁是一种通用技术比如Java提供的Synchronized关键字就是锁的一种实现Synchronized是排他锁/独占锁就是有你没我的意思只要其他线程到来访问发现锁还未释放就要在外面等待因为Synchronized保证在同一时间内只有一个线程能够操作数据其保证了原子性。

3.3.2原子变量(并发量少的情况)

        在java.util.concurrent下可以发现有atomic包它可以解决原子性问题加锁是阻塞式方式而原子变量是非阻塞方式。

          原子类(比如AtomicInteger)原子类的原子性是通过volatile+CAS实现原子操作的volatile为CAS的实现提供了基础。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6