Per prima cosa, i seguenti due articoli su .net/c# Zookeeper hanno distribuito serrature:
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.
In effetti, i due articoli sopra sono sbagliati! Completamente fuorviando gli sviluppatori di programmazione!
InformazioniTutorial per l'installazione di Zookeeper:
Il principio di implementazione del blocco distribuito Zookeeper è spiegato in termini semplici:
1: Mettere tutti i nodi figli sotto l'armadietto
2: Tutti i sottonodi sono ordinati, ecco due situazioni
Se il tuo nodo ha il numero di serie più basso, allora il cliente è considerato aver ottenuto il lock. Puoi fare le tue cose! Se il tuo nodo non ha il numero di serie più piccolo, il nodo che ascolta il nodo più piccolo non è il nodo precedente che è più piccolo di te!! Fai attenzione qui! (Perché il tuo nodo precedente potrebbe scadere e liberare il blocco!) )
3: Aspettare la notifica del Custodi dello Zoo, poi ripetere l'operazione di 2, estrarre tutti i nodi, ordinarli e giudicare se sei il nodo più piccolo............
Dopo aver conosciuto il principio, diamo un'occhiata al motivo per cui le prime due introduzioni dell'articolo sono sbagliate.
Guardando l'esempio dell'ordine nell'articolo, sembra corretto, e anche il risultato dopo la corsa è corretto! Tuttavia, se lo testi più volte, capirai che il codice nell'articolo è completamente sbagliato!!!
Quindi, conoscendo il principio, scriviamolo noi stessi! Comunque, non è la prima volta che mi trovo bloccato dal codice su Internet!
Ecco il gif gif corretto:
Codice di chiamata:
La versione ZooKeeperNet.dll utilizzata è la 3.4.6.1
Infine, allega il codice sorgente:
Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
|