volatile 每次都是最新的,为什么会有线程安全