网上相关文章很多,但很多写的都很模糊,有的甚至越看越不明白,而原论文中作者的思路也很奇怪,跳跃性很大,大师的想法就是不一样,再加上用自然语言描述,很多用词也有不准确之处,我看了好长时间还觉得迷糊,所以推荐两篇文章给大家,这两篇文章详细描述了算法的执行过程,并没有过多的涉及证明,但是明白了执行细节之后,在去看证明,就显得比较简单了,两篇文章的链接如下:
http://coderxy.com/archives/121
http://coderxy.com/archives/136
作者在原论文中着重说明了正确性问题,即在已经形成一个多数派的前提下,会且只会选出一个value,文章中大部分都在证明这一点,而没有说明第一个多数派是如何产生的,理解这一点很重要,事实上,第一个多数派可能根本就不会产生,也就是说算法可能不会终止,这也就是文章中所提到的活锁问题.