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