По-перше, наступні дві статті на .net/c# Zookeeper розповсюджував замки:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Насправді, наведені вище дві статті є неправильними! Повністю вводячи в оману розробників програмістів!
Про насІнструкція з встановлення Zookeeper:
Принцип реалізації розподіленого замка Zookeeper пояснюється просто:
1: Помістити всі дочірні вузли під шафку
2: Усі підвузли відсортовані, ось дві ситуації
Якщо ваш вузол має найменший серійний номер, клієнт вважається таким, що отримав замок. Ти можеш займатися своїми справами! Якщо ваш вузол не має найменшого серійного номера, вузол, який слухає найменший вузол, не є попереднім, меншим за вас!! Зверніть увагу! (Тому що ваш попередній вузол може закінчитися і зняти блокування!) )
3: Зачекайте на сповіщення від Zookeeper, потім повторіть операцію 2, витягніть усі вузли, відсортуйте їх і визначте, чи є ви найменшим вузлом............
Після того, як ми дізнаємося принцип, давайте розглянемо, чому перші два вступи до статті є неправильними?
Дивлячись на приклад порядку в статті, він здається правильним, і результат після запуску теж правильний! Однак, якщо протестувати кілька разів, ви зрозумієте, що код у статті абсолютно неправильний!!!
Тож, знаючи принцип, давайте напишемо його самі! В будь-якому разі, це не вперше, коли мене зачіпає код в Інтернеті!
Ось правильний гіф:
Код виклику:
Використовується ZooKeeperNet.dll версія 3.4.6.1
Нарешті, додайте вихідний код:
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
|