序文ウォッチドッグ メカニズムは、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。ソフトバスを開いて接続を確立する
インターネットは常に進化しており、もちろんインターネット モデルも常に進化しています。ここで、Cra...
オフライン活動の実施は、ウェブサイトの人気と投稿量に大きな影響を与えます。これは、多くのローカル ポ...
ウェブサイトの開設は、企業の認知度を高めるためだけではなく、企業の利益を高めるためにも重要です。こう...
中国最大のリンク交換プラットフォーム「AliVV」の公式サイトが数日連続で開けない状態が続いており、...
過去2か月間、フルタイムでウェブサイトを運営することで多くのことを得ました。最初は、ファウンテンウェ...
検索エンジンの成熟度が高まるにつれて、ウェブサイトの外部リンクの品質に対する要求も高まっています。従...
適切に管理および実装された可観測性システムは、複雑なシステムのデバッグと修正に使用できるきめ細かい洞...
Serverhubの歴史は2002年に遡ります。私は以前Infinitieというブランドを使ったこと...
百度指数(以下、指数)を開発した当初の意図は、単に一般大衆を楽しませる商品として位置づけることだった...
[51CTO.comよりオリジナル記事]インターネットの急速な発展に伴い、人類社会におけるデータ量は...
最近、Aibang.comは戦略的なアップグレードを発表し、新しい生活検索サービスであるNearby...
今日、クラウド コンピューティング プラットフォームとアプリケーションは、新しいデジタル ビジネスを...
kdatacenterは2009年に韓国で設立されました。主に韓国のデータセンター(SKデータセンタ...
著者はブログを利用して地域SEOブログを作成しました。このブログは半年以上Baiduホームページで安...
モノのインターネットには独自のサイバーセキュリティの考慮事項があり、サイバーセキュリティとエッジコン...