当多个线程共享可变数据的时候,每个读取或者修改的线程都必须执行同步
Volatile保证读写都是原子的.
Long/Double读取非原子读取,volatile可以保证.

同步的作用:
  • 防止别的线程看到当前线程的中间的不一致状态
  • 保证前一线程修改的结果立即对当前线程可见.

疑问: 为啥读方法也要进行同步?