序文ウォッチドッグ メカニズムは、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。ソフトバスを開いて接続を確立する
ブログの外部リンクに関しては、ここ2年ほどやっています。応募されたブログは大小問わず多数ありますが、...
最近、「福州100%事件」と「温州百業連盟事件」が各界から大きな注目を集めています。 両事件とも、リ...
[[406964]]この記事は、Datadog の最新の Serverless レポートの解釈です。...
話し手は真剣だが、聞き手は無関心である(発音が分からない場合は、ピンインの URL を参照してくださ...
いわゆるソフト記事とは、いくつかの記事や出来事の語りを通して、読者に無意識に、いつの間にか商品を理解...
本日、世界初のオープンソース データ オーケストレーション ソフトウェアの開発者である Alluxi...
おそらく、多くの初心者SEO担当者は、最適化の役割はウェブサイトへのトラフィックを増やすことだという...
ウェブサイトの最適化コンテンツと外部リンクは切り離せない関係にあります。著者は日々ウェブマスターフォ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますインターネ...
ニュージーランドの VPS 業者である azzavps は、同社初の SSD ハード ドライブ VP...
なぜこれを書こうと思ったのですか?ほとんどすべての人がWeChatを持っているからです。 WeCha...
世界中の組織は、毎日生成される前例のない量のデータによってますます困難に直面しています。モノのインタ...
ミニプログラムの動作ロジックの観点から見ると、プラットフォームに寄生しており、プラットフォームのトラ...
2022年上半期、市場の成長率は鈍化し、消費者の嗜好は「大手ブランドを買うか、コストパフォーマンスを...
SEO に関しては、多くの人が少しは知っていると思います。しかし、SEO(検索エンジン最適化)の本当...