- 让一个变量在多个线程之间保证可见性
堆内存是所有线程的共享内存,除了共享内存,每个线程有自己的专属区域,自己的工作内存,当多个线程访问共享内存里面的同一个值时,则会在自己的专属区域里面copy一份,但是当在自己的专属区域改变值之后,不会及时的反映到另一个线程里面
- 禁止指令重排
现在cpu为了高效,在编译后将指令可能会进行一个重新排序,
堆内存是所有线程的共享内存,除了共享内存,每个线程有自己的专属区域,自己的工作内存,当多个线程访问共享内存里面的同一个值时,则会在自己的专属区域里面copy一份,但是当在自己的专属区域改变值之后,不会及时的反映到另一个线程里面
现在cpu为了高效,在编译后将指令可能会进行一个重新排序,