共识价值

Izz*_*zza 5 concurrency multithreading concurrent-programming compare-and-swap

在阅读并发编程时,我在比较和交换以及比较和设置操作中遇到了共识数这个术语.我无法理解这个术语的含义,任何人都可以解释一下吗?

谢谢!!

Joh*_*ski 11

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

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

有一些不同的特殊对象或操作可用于解决共识问题.他们的强大程度由他们的共识数量来评定.这等于可以解决共识问题的最大线程数.

  • 共识编号1:正常读/写寄存器.(也就是说,简单的变量.)
  • 共识号2:测试和设置(又名比较和设置),队列,堆栈等.
  • 共识号2n-2:n寄存器分配
  • 共识数∞:比较和交换,等.