Tout d’abord, les deux articles suivants sur .net/c# Zookeeper ont distribué des serrures :
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
En fait, les deux articles ci-dessus sont faux ! Des développeurs de programmation complètement trompeurs !
À proposTutoriel d’installation de Zookeeper :
Le principe d’implémentation du verrou distribué Zookeeper est expliqué en termes simples :
1 : Mettre tous les nœuds enfants sous le casier
2 : Tous les sous-nœuds sont triés, voici deux situations
Si votre nœud a le plus petit numéro de série, alors le client est considéré comme ayant obtenu le verrouillage. Tu peux faire ce que tu veux ! Si votre nœud n’est pas le plus petit numéro de série, le nœud qui écoute le plus petit nœud n’est pas le nœud précédent qui est plus petit que vous !! Soyez attentif ici ! (Parce que votre nœud précédent pourrait expirer et libérer le verrouillage !) )
3 : Attendre la notification du Gardien du Zoo, puis répéter l’opération de 2, extraire tous les nœuds, les trier, et juger si vous êtes le plus petit nœud............
Après avoir compris le principe, voyons pourquoi les deux premières introductions de l’article sont erronées ?
En regardant l’exemple de l’ordre dans l’article, cela semble juste, et le résultat après la course est aussi correct ! Cependant, si vous le testez plusieurs fois, vous saurez que le code de l’article est complètement erroné !!!
Alors, connaissant le principe, écrivons-le nous-mêmes ! Quoi qu’il en soit, ce n’est pas la première fois que je me fais piéger par du code sur Internet !
Voici le gif correct :
Code d’appel :
La ZooKeeperNet.dll version utilisée est la 3.4.6.1
Enfin, joignez le code source :
Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaît Répondre
|