读的时候会先把自己线程的本地内存设为无效,再从主线程读取值至本地线程,再从本地线程中读取值,线程通过本地内存与进程内存交互。vo内存语义其实就是在重排序中插入了内存屏障保证读写顺序。