volatile适用场合

要在多线程中安全的适用volatitle变量,必须同时满足:
        1.对变量的写入操作不依赖其当前值

  • 不满足:number++、count = count * 5等
  • 满足:boolean变量、记录温度变化的变量等

2.该变量没有包含在具有其他变量的不变式中

程序中有多个volatile变量,那么每个volatile变量的状态要独立于其他volatile变量

  • 不满足:不变式 low < up
04-27 03:29