Во-первых, следующие две статьи на .net/c# Zookeeper распространял замки:
Вход по гиперссылке виден.
Вход по гиперссылке виден.
На самом деле, две вышеуказанные статьи ошибочны! Полностью вводит программистов в заблуждение!
О компанииРуководство по установке Zookeeper:
Принцип реализации распределённого замка Zookeeper объясняется простыми словами:
1: Заберите все дочерние узлы под шкафчик
2: Все подузлы отсортированы, вот две ситуации
Если у вашего узла самый маленький серийный номер, клиент считается обеспеченным блокировкой. Ты можешь заниматься своим делом! Если ваш узел не имеет самый маленький серийный номер, то узел, который слушает самый маленький узел, не является предыдущим, меньше вас!! Обратите внимание сюда! (Потому что ваш предыдущий узел может истечь время и снять блокировку!) )
3: Дождитесь уведомления Zookeeper, затем повторите операцию 2, вытяните все узлы, отсортируйте их и оцените, являетесь ли вы самым маленьким узлом............
После того как мы узнаем принцип, давайте посмотрим, почему два первых вступления статьи ошибочны?
Смотря на пример порядка в статье, он кажется правильным, и результат после запуска тоже верен! Однако, если вы проверите несколько раз, вы поймёте, что код в статье совершенно неверен!!!
Так что, зная принцип, давайте напишем это сами! В любом случае, это не первый раз, когда меня пронизывает код в интернете!
Вот правильный гиф:
Код вызова:
Используемая версия ZooKeeperNet.dll — 3.4.6.1
Наконец, приложите исходный код:
Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйста Ответ
|