序文Redisson は再入可能な読み取り/書き込みロックもサポートしており、分散シナリオで複数の読み取りロックと 1 つの書き込みロックを同時にロックできます。 1. 読み取り/書き込みロックを使用する Redisson の読み取り/書き込みロックは JUC の下で ReadWriteLock を実装しており、その使用法は基本的に同じです。 2. ソースコードロックのソース コードは基本的に以前の再入可能ロックと同じですが、唯一の違いは Lua スクリプトにあります。 したがって、以下では Lua スクリプトの分析に焦点を当てます。 ロックのソースコードを読む ソースコードアドレス: org.redisson.RedissonReadLock#tryLockInnerAsync パラメータリスト:
最初の読み取りロック
読み取りロックの再入力 再入国の場合:
読書サポート
書き込みと読み取りの相互排除 読み取りロックが追加されました。このとき、書き込みロックが入ります。最初の部分と 2 番目の部分のどちらにも該当しないため、現在のロックの残り時間をそのまま返します。 次に、Java コードで while (true) spin wait を実行します。 上記のように、ロックを読み取るときは次のようになります。
ロックソースコードを書くソースコードアドレス: org.redisson.RedissonWriteLock#tryLockInnerAsync パラメータリスト:
書き込みロックのソースコードは比較的理解しやすいです:
このように、書き込み-書き込み相互排他性と読み取り-書き込み相互排他性が直接満たされ、現在のスレッドが再入できることがわかります。 3. まとめこの時点で、読み取り/書き込みロックの読み取りは基本的に完了です。読み取りロックの実装はやや複雑ですが、書き込みロックは単純かつ明確です。 ロックを読み取るとき:
ロックを書き込む場合:
|
<<: 中国電信がクラウドコンピューティングに投資し、天一クラウドテクノロジー株式会社を設立
>>: Kubernetes 7周年記念:K8s の導入とアプリケーションの簡素化における VMware の成果と課題
過去 1 年ほど、パブリックとプライベートの両方において、クラウド コンピューティングに関する話題が...
eLong は確かに天井に達しました。 eLongの2013年の財務報告は芳しいものではなかった。収...
[51CTO.com クイック翻訳] 現在、Docker 分野の発展は日々変化しています。 Kube...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSEO 最...
香港のローカル ISP である New Horizon Interconnect は、ICT サ...
近年、オンラインプロモーションをいち早く取り入れた中小企業が、その恩恵を享受しています。世の中には予...
Gold Diggerがウェブサイトを構築してからこの記事を書いている時点では1年1ヶ月以上が経過し...
国慶節の連休から戻り、厳しい帰国の試練を乗り越えた後、チケットを買うための行列、高速道路の交通渋滞、...
2006 年 8 月 9 日、当時 Google の CEO であった Eric Schmidt...
インターネット時代において、オンラインマーケティングの本質は低コストと高効率です。オンラインメディア...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン「始めが良ければ終わりも半分。」電子メー...
実行時にアクティブなパッケージに焦点を当てることで、重要なものを優先します。 第 48 回 IT プ...
優れた Web サイトを構築するには、キーワードがトラフィックを獲得するための重要な手段であることは...
SEO業界では、自社、競合他社、さらには業界のウェブサイトに対してSEO分析を行い、より多くのデータ...
有名なキャスターがまた失敗した。 12月24日、アップストリームニュースによると、陳暁春のあるマッサ...