Först, följande två artiklar om .net/c# Zookeeper distribuerade lås:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Faktum är att de två ovanstående artiklarna är fel! Helt vilseledande programmeringsutvecklare!
OmTutorial för installation av Zookeeper:
Implementeringsprincipen för Zookeeper distribuerat lås förklaras på ett enkelt sätt:
1: Få alla barnnoder under skåpet
2: Alla undernoder är sorterade, här är två situationer
Om din nod har det minsta serienumret anses klienten ha fått låset. Du kan göra ditt eget! Om din nod inte har det minsta serienumret, är den nod som lyssnar på den minsta noden inte den föregående noden som är mindre än du!! Var uppmärksam här! (För att din tidigare nod kan gå ut och låsa låset!) )
3: Vänta på Zookeeper-notisen, och upprepa sedan operationen 2, dra alla noder, sortera dem och bedöm om du är den minsta noden............
När vi känner till principen, låt oss titta på varför de två översta inledningarna i artikeln är fel?
Om man tittar på exemplet med ordningen i artikeln känns det rätt, och resultatet efter att ha sprungit är också korrekt! Men om du testar det några gånger kommer du att veta att koden i artikeln är helt fel!!!
Så, med tanke på principen, låt oss skriva den själva! Hur som helst, det är inte första gången jag blivit stoppad av kod på internet!
Här är rätt gif:
Anropskod:
Den ZooKeeperNet.dll versionen som används är 3.4.6.1
Slutligen, bifoga källkoden:
Turister, om ni vill se det dolda innehållet i detta inlägg, snälla Svar
|