Проблема консенсуса такова ... У вас N процессов.Каждый поток получает предложение значения, затем потоки должны выбрать одно и то же из этих предложенных значений.
Пример для двух потоков: поток A предлагает значение A, поток B предлагает значение B. Затем действительные результатылибо оба потока принимают решение A, либо оба потока принимают решение B.
Существуют различные специальные объекты или операции, которые полезны для решения проблемы консенсуса.Их мощь оценивается по их общему числу .Это равно максимальному количеству потоков, для которых они могут решить проблему консенсуса.
- Консенсус № 1: Обычные регистры чтения / записи.(То есть, простые переменные.)
- Консенсус № 2: Тест и набор (он же сравнить и установить), очередь, стек и т. Д.
- Консенсус № 2n-2: n-регистрприсвоение
- Согласованное число ∞: сравнить и поменять, и т. д.