序文ウォッチドッグ メカニズムは、RedissonBaseLock#scheduleExpirationRenewal メソッドにあります。このフェアロックとアンフェアロックの間には違いはありません。 前に学んだように、公平なロックが失敗すると、現在のロックは待機キューに配置され、Java コードのループを通じてロックの取得が試行されます。 1. ロック解除アクティブリリース ソースコード: RedissonFairLock#unlockInnerAsync
このロジックのハイライト部分はマークされており、重要なポイントはロックを解除することです。
このようにして、他のスレッドは待機キューからロックを取得し始めます。 タイムアウト削除 ロックのロックと解放を行う Lua スクリプトでは、最初の段落は常に while true do xxx であり、キュー内のタイムアウトしたロックを削除するために使用されます。 ロックを保持しているスレッドの解放は、不正なロックと変わりません。ロックがタイムアウトするか、サービスが停止すると、ロックは自動的に解除されます。 (これは anyLock を指します)。 2. まとめフェアロックの解放もアクティブ解放とタイムアウト解放に分けられます。 アクティブリリース、つまりリリースロックを自分で呼び出します。 タイムアウト削除には 2 種類あります。 1 つは、ロックを保持しているスレッドのタイムアウト削除です。このロックにもタイムアウト期間 + ウォッチドッグの更新が含まれているため、これは不公平なロックと変わりません。もう 1 つは、キュー内でタイムアウト削除を待機することです。毎回ロックを取得する前に、最初の待機スレッドのタイムスタンプがタイムアウトしたかどうかを判断し、ロックを解除する必要があります。 この記事はWeChatの公開アカウント「Programmer Xiaohang」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、プログラマーXiaohangの公式アカウントまでご連絡ください。 |
<<: クラウド ネイティブ 2.0: 今検討すべき 3 つの DevOps 戦略
>>: OpenHarmony 分散ソフトバスプロセス分析 v1.0丨2。ソフトバスを開いて接続を確立する
11月3日、2022年雲奇カンファレンスで、アリババクラウドインテリジェンスの張建鋒社長は、新しいク...
ssdvps.com は 年に設立され、かなり長い間存在しています。通常、ロサンゼルス、バッファロー...
AWS、Google Cloud、Microsoft Azure などのパブリック クラウド サービ...
[51CTO.com クイック翻訳] ご存知のとおり、システム リソースは無制限ではありません。大規...
[[419665]]正直に言うと、3~5 年間 Java 開発を行っていても、JVM チューニング ...
優れたウェブサイトの構築Google の使命は、世界中の情報を整理し、世界中の人々がアクセスして使え...
アメリカとカナダの独立記念日が近づいており、多くの企業が活動することが予想されます。chicagov...
Virpus は本日、全製品 (SSD ハード ドライブのみ) が 40% オフとなる 2 日間の ...
エッジ コンピューティングは、すべての IoT デバイスやワークロードに適しているわけではありません...
これまでHostCatでも3回ご紹介させていただいたAtlanticは、1994年創業の実績豊富な会...
2012年はオンラインマーケティングの新時代となるでしょう。ますます多くの伝統的な企業がオンラインマ...
Bandwagonhost VPS については、皆さんもよくご存知だと思います。現在、当社は 8 つ...
最近、部署の社員が百度重みについて議論しているのをよく耳にします。私は、ウェブサイトの百度重みの変化...
感染症の流行以来、数え切れないほどの企業が大きな変化を遂げてきました。最も目を引くのは、ライブストリ...
序文近年、HTML5 技術の普及、モバイル デバイスの急速な成長、トラフィック料金の継続的な低下によ...