https://codingnote.cc/zh-hk/p/3690/
Java 并发编程(二):如何保证共享变量的原子性?