啊
多一个线程,在状态机里也可以理解为多一个栈帧
啊
啊
啊
错误如下图所示
啊
啊
当只有一个人想上厕所时,只有一个旗子被举起来,因此举旗的人可以直接进厕所
当两个人都想上厕所时,看门上的名字可以判断谁先抢厕所,先抢厕所的人可以先使用厕所
啊
同时举旗时,手快的人贴的标签会被覆盖掉,从而让自己能够先进厕所
啊
啊
不好解释 Peterson 算法的正确性时,可以尝试枚举并发算法的状态机、或者是把这个算法写出来,用assert和计数器去判断
啊
啊
__sync_synchronize() 既是一个memory barrier(强制TLB flush),也是一个compiler barrier(防止编译器调换指令顺序)
啊
除了用纸和笔话并发程序的状态机以外,还可以使用程序自动画状态机
啊
啊
什么叫 model checker?
一个程序,可以遍历所有可能的、模型上的状态。
这一个150行的程序可以探索并发算法上所有可能的状态,只要状态空间不太大,就能用
(目前正在尝试 model-checker 程序)
啊
啊
啊
啊
啊
啊
啊
啊
啊
啊
啊
啊
啊
啊
标签:P4,可以,厕所,状态机,算法,Peterson,并发程序 From: https://www.cnblogs.com/yinhuachen/p/17172951.html