Jvm(3),内存模型

 

 

自己的理解,

读的操作,主内存先去读取主内存(也就是共享内存)的里面的数据,然后在加载到线程的工作内存(也就是独有内存)。

写的操作,独有的内存先去加载(load)自己的独有内存中的数据,然后再去写到主内存中去。

一个线程的变量改变并不能直接及时的通知另一个线程(假如共享一个线程的话)。

volatile表示两个线程之间有共享变量的话,假如一个变量的值发生改变,会把改变的值直接从本地内存中写到主内存中去。这样的话另一个线程读取这个数据的时候回及时发现这个线程的值得改变,从而通知另一个线程根据这个变量进行一系列的操作。

猜你喜欢

转载自www.cnblogs.com/qingruihappy/p/9691088.html