线程-volatile

volatile:两个作用 1:保证线程可见性 2:禁止指令重排序 1,2线程同时复制主内存的的flag,然后修改成false, 当从主内存读取,以及修改后再赋值给主内存是不可控制的,所以,当1线程修改后但没有赋值给主内存的时候,2线程也拿到主内存的数据,就出现线程不可见的问题   指令重排: int a=3,首先是分配内存,初始化,2是赋值,3是对象指向,当创建对象的时候, 可能 先1初始化,直
相关文章
相关标签/搜索