欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

volatile、static

程序员文章站 2023-12-24 14:05:09
谈到 volatile、static 就必须说多线程。 1、一个线程在开始执行的时候,会开启一片自己的工作内存(自己线程私有),同时将主内存中的数据复制到自己 的工作内存,从此读写数据都是自己的工作内存的数据,(个人见解:其中写数据时会同步到主内存,读是读自己的工作内存的数据) 2、成员变量被vol ......

谈到 volatile、static 就必须说多线程。

1、一个线程在开始执行的时候,会开启一片自己的工作内存(自己线程私有),同时将主内存中的数据复制到自己 的工作内存,从此读写数据都是自己的工作内存的数据,(个人见解:其中写数据时会同步到主内存,读是读自己的工作内存的数据)

2、成员变量被volatile 修饰后,发生改变:每次读取被修饰的变量都是读取主内存中的变量,这样就实现了多线程下的可见性,相当于多个实例面对一个静态变量。

3、成员变量被static 修饰后,每个实例(不是每个线程,static不是面对线程而是面对实例 )都共享 一个主内存的数据。当多线情况下时,对 该成员的操作依然参照第1、 2 点。 

上一篇:

下一篇: