一、volatile概述
volatile是java并发编程中常用的一个关键字,在某些特定的情况下,开发人员通常用它去实现线程间的通信,而不是使用synchronized和Lock。因为在JVM的概念中,volatile是一种轻量级锁,使用它的消耗会远小于上述两种锁机制。当使用synchronized和Lock时会引起大量的线程上下文的切换。线程上下文切换:当处理机的一个时间片执行完成之时,而当前线程并未完成,那么便需要创建内存来保留当前线程中的指令和数据,等到下次争取到时间片以后,再次需要把这些指令和数据加载进来。显而易见,这是一个非常耗时和耗费资源的过程。而volatile则可以避免线程上下文的切换,为什么能做到以及如何做?下文见分晓volatile是java并发编程中常用的一个关键字,在某些特定的情况下