可见,volatile关键字跟锁完全是不同的概念,那它究竟有什么用捏?
volatile只是“尽可能”的保证你的读取无误。
它修饰的是变量,会强制每个线程对该变量的写操作实时更新到堆内存并同步到其他线程的栈内存。
所以说呀,实际应用中如果变量的值不经常变(如:状态值),可以考虑用volatile替换synchronized。
可见,volatile关键字跟锁完全是不同的概念,那它究竟有什么用捏?
volatile只是“尽可能”的保证你的读取无误。
它修饰的是变量,会强制每个线程对该变量的写操作实时更新到堆内存并同步到其他线程的栈内存。
所以说呀,实际应用中如果变量的值不经常变(如:状态值),可以考虑用volatile替换synchronized。