共识价值

时间:2011-03-19 18:38:22

标签: multithreading concurrency concurrent-programming compare-and-swap

在阅读并发编程的同时,我在Compare-And-Swap& amp;中看到了共识数这个词。比较和设置操作。我无法理解这个术语的含义,任何人都可以解释一下吗?

谢谢!!

1 个答案:

答案 0 :(得分:9)

共识问题是这样的......你有N个进程。每个线程都会提出一个值,然后线程应该决定这些建议值中的一个。

两个线程的示例:线程A建议值A,线程B建议值B.然后,有效结果是两个线程决定A,或两个线程决定B。

有许多不同的特殊对象或操作可用于解决共识问题。他们的强大力量由他们的共识号评分。这等于他们可以解决共识问题的最大线程数。

  • 共识编号1:正常读/写寄存器。 (即纯变量。)
  • 共识第2号:测试& set(a.k.a. compare& set),queue,stack et.c。
  • 共识号2n-2:n-register assignment
  • 共识数∞:比较& swap,et.c。