volatile 关键字

多线程中常常碰到 volatile关键字,可是一直都没有深刻理解。经过在网络上查找资料,如今本身作一个简单清晰的总结。网络

多线程执行时,老是会保存一份线程私有的变量,因此才会形成,多线程同时访问时会结果不一致的状况(同时访问 i 变量,可是线程自身复制了私有变量到线程内,而后操做完在写入到外面这个 i , 在不采用同步的方式下,最后一个线程将成功把它的私有变量赋给 i 变量,致使问题的产生)。多线程

可是volatile关键字,告诉 jvm, 强制线程不容许给这个变量复制私有变量,必须使用共享内容,因此不管谁操做变量,不论读写,都直接操做共享内存,即变量只有一份。jvm

相关文章
相关标签/搜索