ReaderWriterLockとlock{}の比較
2023-09-19 17:27:20
質問
主な違いと、いつ何を使えばいいのか、教えてください。
Webのマルチスレッドアプリケーションに焦点を当てたものです。
どのように解決するのか?
ロック
は、1つのスレッドだけが同時にコードを実行できるようにします。
リーダーライターロック
は、複数のスレッドが同時に読み取ったり、書き込みのための排他的なアクセスを持つことができるため、より効率的であるかもしれません。.NET 3.5 を使用している場合
リーダライタロックスリム
はさらに高速です。ですから、共有リソースの読み込みが書き込みより多い場合は
ReaderWriterLockSlim
. これを使用する良い例は、非常に頻繁に (リクエストごとに) 読み込まれ、ファイルの内容はほとんど更新されないようなファイルです。そのため、ファイルから読み込むときは読み込みロックをかけ、多くのリクエストでファイルを読み込めるようにし、書き込むときは書き込みロックをかけます。ファイルから読み込むときは
lock
を使用すると、基本的に一度に一つのリクエストにしか対応できません。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] レースコンディションとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み] 2つのリストを結合する
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?