序文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 オリジナル記事] 2015 年に設立された ZStack は、3 年間の開発期...
不安定なウェブサイトランキングの解決策について詳しく議論する今日は、ウェブサイトのランキングが不安定...
ほとんどの場合、 IT の運用と保守作業はリモートで実行できます。管理対象システムにネットワーク経由...
ケニー・マリカン氏にとって、ハイブリッド クラウドを使用するという決定は当然の結論でした。 「独自の...
[[332331]]みなさんこんにちは。私は梁旭です。ご存知のとおり、Linux ではデバイス ファ...
9月20日、技術専門家が集まったATECメインフォーラムで、何千年もの間旅をしてきた古代の絵画が「生...
11年間運営してきたVirpusが、年末に生涯40%割引プロモーションを実施しました。SSDハードド...
文 | CBN記者 ゾウ・トン、インターン記者 ソン・ジン3年前、Hujiang.comの創設者であ...
電子商取引は以前ほど利益が出ないとはいえ、コレクター向け電子商取引の収益性は依然としてかなり良好で、...
v.psはどうですか? v.ps 香港はどうですか? v.psは香港にデータセンターを持ち、香港クラ...
1. 電子商取引が「コールドチェーン」の欠点を補うために生鮮食品市場に参入電子商取引は「コールドチェ...
十数個のウェブサイトのデータを数え終えたところです。今朝目覚めると、手元にある十数個のウェブサイトが...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています驚異的な国...
デジタル化はすべての人に影響を及ぼし、企業にとって大きな可能性と課題を生み出します。ほぼすべての業界...
アイスランドのサーバー業者 flokinet (~) は、アイスランドのデータセンターでアイスランド...