序文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 の成果と課題
現在、中国の検索エンジンは混乱状態にあります。百度、捜索、捜狗、有道、ヤフー、ビング、グーグル、そし...
[元記事は51CTO.comより] 米国時間2017年11月29日、Amazonの子会社であるAWS...
Amazon Web Services は、米国最大のエネルギー持株会社の 1 つである Duke ...
新しい Web サイトを構築する初期段階では、多くの Web 管理者にとって最大の懸念は、Web サ...
Qihoo 360、ZDNetにGoogleとの提携を確認ZDNetによると、Qihoo 360はZ...
最近、武漢 SEO ブログは、パフォーマンスを向上させるためにウェブサイトを再構築してほしいという友...
contabo は、19 年間運営されているドイツの老舗データセンターとして、多くの方にご存じのはず...
4日前、私は「Baidu ExperienceとSoso Wenwenのひどい外部リンクを暴露する」...
現在、百度は意識的にウェブサイトのランキングに手動で介入し始めています。これは私が以前の記事で述べた...
一昨日、Virmachは最新のスーパープロモーションを開始しました。3つの安価な米国VPSがあり、年...
3月17日、テンセントのWeChatパブリックプラットフォームは、第三者の情報、ニュース、その他のソ...
CrownCloud は非常に奇妙なビジネスです。比較的目立たず、あまり露出していませんが、長年運営...
4月25日、百度ウェブマスタープラットフォームは「外部リンクの判断について」と題する記事を公開した。...
先ほど、SEO に関する 4 つの基本的な質問と回答について説明しました。 「新しいサイトが含まれな...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス春節が近づいてきました!...