1. 程式人生 > >高並發編程-06-可見性-volatile

高並發編程-06-可見性-volatile

image sys rgb auto shu spa http app idt

1,volatile的作用

volatile是一個輕量級的線程同步機制。它的特性之一,是保證了變量在線程之間的可見性

當然,還有我們之前說的,解決指令重排的問題

volatile保證了在多個線程之間是可見的,但不能保證原子性操作

當一個線程修改了變量的值之後,其他線程可以感知到

2,volatile vs synchronized

synchronized也是保證了線程的可見性,同時也具備了多線程之間的互斥性

3,如何使用?

private volatile int count;

4,volatile底層實現原理

工作內存(cpu),主內存,當變量被聲明為volatile後,JVM會每次都從主內存去讀取,而不是讀取自己的工作內存

技術分享圖片


高並發編程-06-可見性-volatile