1.可见性
比如共享变量里有变量A = 25 ,当线程 A 和线程 B 同时去内存获取到变量数据是,AB的本地内存数据值都为25
当线程A改变值为35时,因为线程B和线程A不是统一线程,无法得到最新的改变值,而线程A进行改变之后会去修改主内存值,如果变量为 volatile 修饰的话,就会及时通知线程B进行进行访问修改。
无 volatile 标识时
有 volatile 标识时
1.可见性
比如共享变量里有变量A = 25 ,当线程 A 和线程 B 同时去内存获取到变量数据是,AB的本地内存数据值都为25
当线程A改变值为35时,因为线程B和线程A不是统一线程,无法得到最新的改变值,而线程A进行改变之后会去修改主内存值,如果变量为 volatile 修饰的话,就会及时通知线程B进行进行访问修改。
无 volatile 标识时
有 volatile 标识时