ZooKeeper 分散ロック キュレーター ソース コード 2: 再入可能ロックの繰り返しロックとロック解除

ZooKeeper 分散ロック キュレーター ソース コード 2: 再入可能ロックの繰り返しロックとロック解除

[[410320]]

序文

ロックロジックが導入されました。では、スレッドの繰り返しロックにはどのように対処すればよいのでしょうか?

1. 再入室をロックする

前のセクションでは、ロックのプロセスを確認し、次に internalLock メソッドをもう一度見てみましょう。

ロックが正常に取得されると、現在のスレッドはConcurrentMapであるthreadDataに配置されます。

ロックが再入力された場合は、前の部分 lockData != null で直接停止し、lockData.lockCount.incrementAndGet(); を実行します。

lockCount の増加はロックの再入力を示します。

ここに注意してください! Curator のロック再入機能は Java コードで実装されています。

2. ロック解除

ロックを解除する必要がある場合は、lock.release() を呼び出して解除するだけです。具体的にはどのようにリリースされるのでしょうか?

主に 2 つの部分に分かれています。

  1. threadData 内の現在のスレッドのロックの数を減らします。
  2. ロックの数が 0 より大きい場合は、まだ再入時間が残っていることを意味するので、直接戻ります。
  3. ロックの数が 0 の場合、releaseLock はロックを解除し、threadData 内の現在のスレッド キーを削除します。

releaseLock メソッドには、リスナーを削除して一時シーケンス ノードを削除するという複雑なロジックはあまりありません。つまり、/locks/lock_01/_c_e855d232-c636-4241-bf8e-f047939a5833-lock-0000000001 です。

3. まとめ

ZooKeeper の InterProcessMutex ロックは、Java コード内の lockCount を維持し、再入可能かどうかを判断します。

この記事はWeChatの公開アカウント「Programmer Xiaohang」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、プログラマーXiaohangの公式アカウントまでご連絡ください。

<<:  TektonとArgo CDを組み合わせてGitOpsを実装する

>>:  クラウド コンピューティングに隠された 10 の秘密

推薦する

アリババの自動車戦略の次のステップ:「スマートハイウェイ」の構築

9月20日、アリババグループは2018年杭州雲旗大会で、自動車戦略のアップグレードを発表した。自動車...

ウェブマスターはスパムコンテンツを削除する勇気を持つべきです。

昨年6月28日のビッグKステーション以降の継続的な検索エンジンアルゴリズムのアップグレードを振り返る...

李建中: リンクの力: リンク品質の評価基準の確立

著者: 李建中微博: weibo.com/jzli昨日の 36Kr と Microsoft のイベン...

新しいサイトの急速なランキングに影響を与える最大の要因は何ですか?

新しいウェブサイトが最短時間でランキングのメリットを最大化する方法こそが、すべての SEO 担当者が...

クラウドコンピューティング環境でJavaアプリケーションを保護するための効果的な対策とツール

翻訳者 |劉涛レビュー |チョンロウクラウド コンピューティング テクノロジーは、近年のコンピュータ...

ウェブサイトの統計情報を使用して、さまざまな観点からコンバージョン率を調査し、改善します。

ウェブサイトのコンバージョン率は、すべてのウェブマスターが追求しているデータです。ウェブサイトの目標...

オンラインショッピング、グループ購入、ショッピングガイドから始まるクローズドビジネスループの価値と課題

多くの人が「クローズドループは誤った命題だ」と話すとき、多くの本当の業界関係者は「ははは」と反応する...

サーバーレスコンピューティングを始めるのに役立つ 7 つのオープンソース プラットフォーム

[51CTO.com クイック翻訳] サーバーレスという用語は、最近会話の中でよく見かけるようになり...

Amazon AWS、Amazon Polly の中国語サポートを発表

Amazon.com (NASDAQ: AMZN) の Amazon Web Services (A...

ハードウェアの販売:コンピュータルームの在庫、各種在庫一掃セール

私は、コンピュータ ルームのハードウェア在庫の売却を手伝っています。説明させてください。在庫とは、廃...

サイバーセキュリティを企業戦略の一部に組み込む

毎年、最新のセキュリティ製品に何十億ドルも費やし、最高のセキュリティ エンジニアやアナリストを雇用し...

タオバオの婦人服をより強力かつ大規模にするための鍵はサプライチェーンにある

淘宝網で婦人服を販売すると、十分な規模の消費者基盤が得られますが、同時に競争も倍増します。新しい店舗...

iPhone 6がサファイアスクリーンを採用しない理由

iPhone 6とiPhone 6 Plusが発売される前、Appleが新世代のスマートフォンにサフ...