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 の秘密

推薦する

百度の修正内容は賛否両論の評価を受けている

[はじめに] 2012年の6月、7月、8月、Baiduの検索エンジンエンジニアはアルゴリズムの更新に...

アマゾン ウェブ サービスが診断開発プログラムの新フェーズを開始し、資金提供範囲をさらに拡大

2021 年 4 月 13 日、Amazon Web Services は診断開発プログラムの新しい...

クラウドネイティブの初体験: K8s への Springboot アプリケーションのデプロイ

[[417286]] 「クラウド ネイティブ」に興味はあるけれど、どこから始めればいいか分からないで...

マルチクラウドアーキテクチャが組織の焦点となる

マルチクラウドとは、組織が AWS、Azure、Google Cloud Platform などの主...

2013 年に外国貿易ウェブサイトの SEO 戦略にはどのような変更が必要でしょうか?

みなさんこんにちは。私は対外貿易ウェブサイトの最適化、つまりGoogleの最適化に携わっている者です...

2018 年のクラウド コンピューティングの未来を形作る 6 つのトレンド

「クラウド コンピューティングの興味深い点は、私たちが達成したすべてのことを含めるようにクラウド コ...

中国のインターネットヘルスケアに関する年次調査

インターネット+医療健康政策が導入され、医薬品や医療保険などの関連政策が次々と発表され、市場では徐々...

企業がクラウド変革のためにインテリジェント サービスを必要とする 6 つの理由

企業がクラウド コンピューティング テクノロジーを最大限に活用するには、特定の選択がもたらす影響を理...

ショッピングモール運営には4Pマーケティング理論を学び、適用する必要がある

ウェブサイトの運営は、結局のところ、少ないエネルギーを投入して巨大なマーケティング効果を達成すること...

中国電信がクラウドコンピューティングに投資し、天一クラウドテクノロジー株式会社を設立

7月5日の報道によると、2021年7月1日に胡志強氏を法定代表者とし、登録資本金9億人民元で天一クラ...

1 秒あたり数千の注文があるシナリオで、分散ロックの高同時実行性の最適化を実践します。

[[340470]]この記事はWeChatの公開アカウント「Huperzineの建築に関するメモ」か...

LBSロケーションチェックインアプリケーションは普及していないが、個人向けサービスが将来の成功と失敗の鍵となるだろう

位置情報サービス(LBS)のロケーションチェックインアプリケーションは、一時的な流行に過ぎませんでし...

SEO トレーニングの知識: ユーザーの視点から Web サイトのコンテンツを真にレイアウトするにはどうすればよいでしょうか?

月収10万元の起業の夢を実現するミニプログラム起業支援プラン検索エンジンは常に「ユーザーエクスペリエ...

健康食品ウェブサイトの発展の道筋についての簡単な議論

国家衛生協会によると、健康食品は2013年以降全面的に発展し、この声明により、多くの健康食品会社や個...