volatile关键字的作用:
1.保持可见性
2. 禁止进行指令的重排序有序性
3. 并不能保证原子性
线程可以把主存变量保存在寄存器中操作,线程结束后再与主存变量进行同步,但当线程没有执行结束就发生了互换,这就有可能造成一个线程在主存中修改了一个变量值,另一个线程继续使用它在寄存器中的变量值,就会造成数据的不一致,volatile就可以避免这个问题。
java学习心得7
最新推荐文章于 2024-06-18 18:24:50 发布
volatile关键字的作用:
1.保持可见性
2. 禁止进行指令的重排序有序性
3. 并不能保证原子性
线程可以把主存变量保存在寄存器中操作,线程结束后再与主存变量进行同步,但当线程没有执行结束就发生了互换,这就有可能造成一个线程在主存中修改了一个变量值,另一个线程继续使用它在寄存器中的变量值,就会造成数据的不一致,volatile就可以避免这个问题。