首页 > 其他 > 详细

JVM 内存模型

时间:2016-09-11 01:26:30      阅读:254      评论:0      收藏:0      [点我收藏+]

线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,                     
一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,
操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。

技术分享

 

根据上面的解释,很容易想出相应的scenario。 而用synchronized的关键是建立一个monitor,
这个monitor可以是要修改的variable也可以其他你认为合适的object比如method, 
然后通过给这个monitor加锁来实现线程安全,每个线程在获得这个锁之后,
要执行完load到workingmemory -> use&assign -> store到mainmemory 的过程,

才会释放它得到的锁。这样就实现了所谓的线程安全。

技术分享

 

什么是线程安全?线程安全是怎么完成的(原理)? 线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。

JVM 内存模型

原文:http://www.cnblogs.com/ctaixw/p/5860777.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!