3

동시 프로그래밍을 읽는 동안 컨센서스 번호을 Compare-And-Swap으로 변경했습니다. & 비교 및 ​​설정 작업. 나는이 용어가 의미하는 바를 이해하는 데 어려움을 겪고있다.컨센서스 값

감사합니다 !!

+0

내가이 여기에서 논의 된 생각 : http://stackoverflow.com/questions/773212/what-is-the-consensus-number-for-semaphores – Sebastian

답변

9

합의 문제는 다음과 같습니다. N 개의 프로세스가 있습니다. 모든 스레드가 값을 제안하게되면 스레드는 제안 된 값 중 하나와 같은 값을 결정해야합니다.

두 개의 스레드

예 : 값 A를 제안 스레드, 스레드 B는 값 B를 제시 그런 다음 유효한 결과이 중 두 스레드가 결정하는 것이, 또는 두 가지 모두 스레드가 결정한다는 것이다 B.

다른 특별한 목적이있다거나 합의 문제를 해결하는 데 유용한 작업. 그들의 강력 함은 공감대 번호으로 등급이 매겨집니다. 이것은 합의 문제를 해결할 수있는 스레드의 최대 수와 같습니다.

  • 컨센서스 번호 1 : 일반 읽기/쓰기 레지스터. (즉, 일반 변수입니다.)
  • 합의 번호 2 : 테스트 & 집합 (a.k.a. & 비교), 대기열, 스택 등.
  • 합의 번호 2n-2 : n- 레지스터 할당
  • 합의 번호 ∞ : 비교 & 스왑 등.
+0

대답을 주셔서 대단히 감사합니다 :) – Izza

+0

@kotlinski 당신은 스택이 합의 수 2를 가지고 있다고 언급했습니다. 왜 그런가요? – bluejamesbond