共有リソースへのアクセスを同期するとき、通常のミューテックス (基本的には単なる書き込みロック) の代わりに読み取り/書き込みロックを使用しない理由はありますか?
言い換えれば、選択した優先同期構造としてロックの読み取り/書き込みをデフォルトにするだけで、自分自身を撃っていますか?
常に読み取り/書き込みロックを選択し、それに応じて読み取りロックと書き込みロックを使用する理由の 1 つは、何らかの同期を実装できることであり、パフォーマンスの向上という利点を得る一方で、同期についてもう一度考える必要はありません。ある日、より競合の多い環境にコードをドロップした場合の将来のスケーラビリティ。したがって、実際のコストなしで潜在的なメリットがあると仮定すると、常に使用することは理にかなっています. それは理にかなっていますか?
これは、実際にはリソースが制限されていないシステム上にあり、おそらくパフォーマンスの問題です。また、私はこの質問を一般的に表現しましたが、問題がある場合は、QtQReadWriteLock
とQMutex
(C++) を特に念頭に置いています。