問題タブ [readerwriterlock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - ライター優先のリーダー/ライター ロックはいつ使用されますか?
多くの読者に好まれる rwlock があることを私は知っています。通常、読者に好まれると考えられている RCU などのさらに積極的な設計もあります。
しかし、書き手が読み手よりもはるかに少なくない場合はどうなるでしょうか? ライターのみの rwlock が排他ロックにフォールバックすることはわかっていますが、次のパターンを検討してください。
- ライターがほとんどですが、読者もいます。おそらく、80% W 対 20% R?
- ライターとリーダーは偶数、50% W 対 50% R
- リーダーが最も多いですが、ライターは無視できず、待ち時間に関する要件があります。20% W 対 80% R
2つの質問があります
- そのようなケース、特に最初の 2 つのケースは本当に存在しますか? これらのタイプに適合するユーザーレベルのアプリケーションは知りません。ユーザーレベルの例が優先されます。
- タイプ 1/2/3 に該当するアプリケーションが実際にある場合、ロックのパフォーマンスを向上させる既存の方法はありますか?
.net-core - リソースを読み込もうとすると ReaderWriterLock がブロックする
ReaderWriterLock
2つの間の共有リソースに aを使用しようとしていますTasks
。何らかの理由で、無期限に待機し始めます:
タスクget
がプロパティを試行すると、LastIssuedAt
ブロックされるだけで、その理由がわかりません。
ios - GCD コードに裏打ちされた私が書いたリーダー/ライター ロックは、並列テストでデッドロックを引き起こす
このリーダー/ライター ロックを GCD に実装しましたが、並列テストで失敗しました。失敗する理由について説明を得ることができますか?
これは iOS 開発用です。コードは Objective C に基づいています。データ保護のために、GCD でリーダー/ライター ロックを使用して RWCache を作成しました。
デッドロックがない場合、プログラムは 0 で終了します。それ以外の場合、プログラムはハングして終了しません。
rust - Arc では、RwLock が複数のライターを持つことができますか?
私は遊んでいるこのおもちゃの構造を持っています:
私の理論は、 ofのArc
周りに複数のライターを配置し、これらのライターがviaのフィールドとフィールドを個別に/同時に変更できるようにすることでした。RwLock
Community
RwLock
friends
index
CommunityContents
Rc<RefCell
これは可能ですか?RwLock
一度に複数のライターを許可しないでください。その場合、を削除してRefCells
構造全体を単純化する必要がありますか?