摘要: Data Race Free 是多线程程序是非常重要的概念,因为Java 和 C++的内存模型都是基于 Data Race Free 的,这篇文章将介绍这个概念的由来,另一篇文章《对Data Race Free的理解》介绍它的主要思想。事情要追溯到遥远的1979年, Lamport 在他的著名论文H... 阅读全文
posted @ 2014-08-17 21:39 Iambda 阅读(391) 评论(0) 推荐(0) 编辑
摘要: Data Race Free 的动机Data Race Free 是对多线程程序同步程度的一种描述,假如你的多线程程序的同步程度满足 DRF 的要求,那么,你的程序会有这样一个好处:程序在弱一致性模型下执行,执行的结果与在SC模型下执行一样这意味着,程序员在写程序时,可以按SC模型来推断程序的执行。... 阅读全文
posted @ 2014-08-17 21:36 Iambda 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Java 内存模型Java内存模型规定了在多线程程序中,什么样的行为是允许出现的,什么样的行为是禁止出现的。这样说可能有点抽象,我们换一个角度。将程序行为抽象成读操作和写操作,每个线程有自己的局部变量,同时线程之间还存在共享变量。那么一个多线程程序执行结束后,所有变量会有一个最终值。Java内存模型... 阅读全文
posted @ 2014-08-17 21:24 Iambda 阅读(265) 评论(0) 推荐(0) 编辑