Java线程同步(二)

jvm内存模型:多线程

1.jvm的主内存是多线程共享的;并发

2.每一个线程都有本身的工做内存,线程的工做内存是有限制的;jvm

 

当线程操做某个对象时,执行顺序:线程

1.从主内存复制变量(Atm对象)到当前工做内存 ;htm

2.执行代码,改变共享变量值;对象

3.用工做内存数据刷新主存相关内容;排序

 

多线程的可见性和可排序性:内存

1.可见性就是在多核或者多线程运行过程当中内存的一种共享模式,在JMM模型里面,经过并发线程修改变量值的时候,必须将线程变量同步回主存事后,其余线程才可能访问到。get

2.可排序性提供了内存内部的访问顺序,在不一样的程序针对不一样的内存块进行访问的时候,其访问不是无序,好比有一个内存块,A和B须要访问的时候,JMM会提供必定的内存分配策略有序地分配它们使用的内存,而在内存的调用过程也会变得有序地进行,内存的折中性质能够简单理解为有序性。而在Java多线程程序里面,JMM经过Java关键字volatile来保证内存的有序访问。同步

相关文章
相关标签/搜索