Только из этой статьи вы можете сделать вывод, что семафор должен иметь согласованное число, меньшее или равное 2. Вот почему:
На третьей странице статьи говорится: «Операция извлечения и добавления довольно гибкая: ее можно использовать для семафоров ...». Поскольку мы знаем, что fetch & add имеет согласованное число, равное 2, теорема 1 этой статьи может затем использоваться, чтобы показать, что семафор должен иметь согласованное число, меньшее или равное 2. Доказательство выглядит следующим образом:
Доказательство
Предположим, что реализация fetch & add существует без ожидания. Далее предположим, что у семафора консенсус-число больше 2. Мы знаем, что fetch & add имеет консенсус-число 2. Из теоремы 1 мы можем заключить, что в системе, состоящей из более чем 2 процессов, не существует реализации семафора без ожидания с помощью fetch & add. , Это противоречит предположению о том, что реализация fetch & add существует. Следовательно, семафор должен иметь согласованное число, меньшее или равное 2.
QED