Dekker算法改进

跟室友一起写作业系列...

老师要改进Dekker算法...Dekker算法毕竟是满足了critical-problem三个条件的算法呢,问题在哪里呢...

  • 难道是长得看上去没有Peterson机智?其实本质是一样的啦...
  • 只适用于两个进程...Dekker算法是利用了对称性不错...但扩展到多个看上去也是可以的大不了丑了点...
  • busy waiting...软件同步机制问题都是酱啦...挂起进程看上去也没机智到哪里去

书上有这么一句

Because of the way modern computer architectures perform basic machine-language instructions, such as load and store, there are no guarantees that Peterson’s solution will work correctly on such architectures.

看书的时候走马观花、没看懂就跳过去了...后来才get到这句话的意思...多线程的cpu内存模型的弱一致性会改变load和store的顺序,导致Dekker算法失效

ref

https://en.wikipedia.org/wiki/Dekker%27s_algorithm
http://www.parallellabs.com/2010/12/04/why-should-we-be-care-of-volatile-keyword-in-multithreaded-applications/
(最近贵校网又被关在墙内了...那些vpn看上去蠢爆了ss最近慢的不行...好绝望)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 就是突然觉得明白了什么,我也不知道该怎么去表达。好像就要脱口而出却欲言又止…… 今年的冬季并没有想象的那么冷,也许...
    独木孤桨阅读 267评论 4 3
  • 今天是2017年的第一天,辞去了旧岁,迎来了新气象。但愿新的一年,是好的开始! 国家规定的放假日,孩子是最开心的,...
    暖晴汝阅读 266评论 0 1
  • 习惯了一个人溜达,只是今晚偶尔觉得有点尴尬!继续走吧,寄一份思念与你,再寄一份与我曾经的痴痴年华…… 2017年2...
    陈五道阅读 195评论 0 1