若一个基本变量被volatile修饰,编译器不会把它保存在寄存器中,而是每次都去访问内存中实际保存该变量的位置。 所以多线程中必须要共享的基本变量要加上volatile修饰,避免在多线程的读写中由于编译器优化所导致的灾难性问题。