Pirma, šie du straipsniai apie .net/c# Zookeeper išplatino spynas:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Tiesą sakant, aukščiau minėti du straipsniai yra neteisingi! Visiškai klaidinantys programavimo kūrėjai!
Apie"Zookeeper" diegimo pamoka:
Zookeeper paskirstyto užrakto įgyvendinimo principas paaiškinamas paprastais žodžiais:
1: Gaukite visus antrinius mazgus po spintele
2: Visi antriniai mazgai yra surūšiuoti, čia yra dvi situacijos
Jei jūsų mazgas turi mažiausią serijos numerį, laikoma, kad klientas gavo užraktą. Jūs galite padaryti savo dalyką! Jei jūsų mazgas nėra mažiausias serijos numeris, mazgas, kuris klausosi mažiausio mazgo, nėra ankstesnis mazgas, kuris yra mažesnis už jus!! Atkreipkite dėmesį čia! (Nes ankstesnis mazgas gali baigtis ir atlaisvinti užraktą!) )
3: Palaukite "Zookeeper" pranešimo, tada pakartokite 2 operaciją, ištraukite visus mazgus, surūšiuokite juos ir nuspręskite, ar esate mažiausias mazgas............
Sužinoję principą, pažvelkime, kodėl dvi svarbiausios straipsnio įžangos yra neteisingos?
Pažvelgus į straipsnyje pateiktą tvarkos pavyzdį, jis atrodo teisingas, o rezultatas po bėgimo taip pat teisingas! Tačiau jei išbandysite keletą kartų, žinosite, kad straipsnyje pateiktas kodas yra visiškai neteisingas!!!
Taigi, žinodami principą, parašykime patys! Bet kokiu atveju, tai ne pirmas kartas, kai aš buvau duobėtas kodas internete!
Štai teisingas gif:
Telefono kodas:
Naudojama ZooKeeperNet.dll versija yra 3.4.6.1
Galiausiai pridėkite šaltinio kodą:
Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašome Atsakyti
|