高并发编程-06-可见性-volatile

1,volatile的作用

volatile是一个轻量级的线程同步机制。它的特性之一,是保证了变量在线程之间的可见性。

当然,还有我们之前说的,解决指令重排的问题

volatile保证了在多个线程之间是可见的,但不能保证原子性操作

当一个线程修改了变量的值之后,其他线程可以感知到

2,volatile vs synchronized

synchronized也是保证了线程的可见性,同时也具备了多线程之间的互斥性

3,如何使用?

private volatile int count;

4,volatile底层实现原理

工作内存(cpu),主内存,当变量被声明为volatile后,JVM会每次都从主内存去读取,而不是读取自己的工作内存

高并发编程-06-可见性-volatile_第1张图片

你可能感兴趣的:(高并发编程-06-可见性-volatile)