volatile适用场合
要在多线程中安全的适用volatitle变量,必须同时满足:
1.对变量的写入操作不依赖其当前值
- 不满足:number++、count = count * 5等
- 满足:boolean变量、记录温度变化的变量等
2.该变量没有包含在具有其他变量的不变式中
程序中有多个volatile变量,那么每个volatile变量的状态要独立于其他volatile变量
- 不满足:不变式 low < up
要在多线程中安全的适用volatitle变量,必须同时满足:
1.对变量的写入操作不依赖其当前值
2.该变量没有包含在具有其他变量的不变式中
程序中有多个volatile变量,那么每个volatile变量的状态要独立于其他volatile变量