İlk olarak, .net/c# Zookeeper dağıtım kilitleri üzerine aşağıdaki iki makale:
Bağlantı girişi görünür.
Bağlantı girişi görünür.
Aslında, yukarıdaki iki makale yanlış! Programlama geliştiricilerini tamamen yanıltıyor!
HakkındaHayvanat Bahçesi Görevlisi kurulum eğitimi:
Zookeeper dağıtılmış kilidin uygulama prensibi basit terimlerle açıklanır:
1: Tüm çocuk düğümleri dolabın altına alın
2: Tüm alt düğümler sıralandı, işte iki durum
Eğer düğümünüz en küçük seri numarasına sahipse, istemcinin kilidi elde ettiği sayılır. Kendi işini yapabilirsin! Eğer düğümünüz en küçük seri numarası değilse, en küçük düğümü dinleyen düğüm, sizden küçük olan önceki düğüm değildir!! Burada dikkat edin! (Çünkü, önceki düğümünüz zaman dolup kilidi açabilir!) )
3: Hayvanat Bahçesi Görevlisi bildirimini bekleyin, sonra 2'nin işlemini tekrarlayın, tüm düğümleri çekin, sıralayın ve en küçük düğüm olup olmadığınızı değerlendirin............
İlkesi öğrendikten sonra, makalenin en iyi iki girişinin neden yanlış olduğuna bakalım.
Makaledeki sıranın örneğine baktığımda, doğru hissettiriyor ve koşma sonrası sonuç da doğru! Ancak, birkaç kez test ederseniz, makaledeki kodun tamamen yanlış olduğunu anlarsınız!!!
O halde, prensibi bildiğimiz için kendimiz yazalım! Neyse, internette kodla karşılaştığım ilk defa değil!
İşte doğru gif:
Çağrı Kodu:
Kullanılan ZooKeeperNet.dll sürüm 3.4.6.1'dir
Son olarak, kaynak kodunu ekleyin:
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
|