并发中的三大特点,volatile的两个语义,分别针对了可见性和有序性
关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制,但是并不常见,因为它并不容易完全被正确、完整地理解。
volatile变量的可见性,意味着volatile变量在各个线程的工作内存中不存在一致性问题(在各个线程的工作内存中,volatile变量也可以存在不一致的情况,但由于每次使用之前都要先刷新执行引擎看不到不一致的情况,因此可以认为不存在一致性问题)
但是Java中的运算并非原子操作,导致volatile变量的运算在并发下一样是不安全的。
网友评论