volatile的三大特性
-
可见性:当一个线程修改了volatile变量的值,其他线程能够立即看到这个修改。这是因为volatile保证了变量的值在所有线程之间是可见的。
-
原子性:对于volatile变量的单个读/写操作具有原子性,即不会被中断。但是,对于volatile变量的复合操作,如i++,并不具有原子性。
-
有序性:volatile变量的读/写操作会按照发生的顺序进行执行,即可以保证指令不会被重排序。这个特性在多线程环境下非常重要,可以避免出现线程间的竞争和死锁等问题。
原文地址: http://www.cveoy.top/t/topic/hka2 著作权归作者所有。请勿转载和采集!