ゴルーチン レッスン4
RWMutex
sync.RWMutexを使って、読み取りが多い場面でのパフォーマンスを改善する方法を学びます。
RWMutexとは
sync.RWMutex は読み取りロック(RLock)と書き込みロック(Lock)を分離します。 複数のゴルーチンが同時に読み取りでき、書き込みは排他的に行われます。 読み取りが多く書き込みが少ないワークロードで効果的です。
Goエディタ
並行読み取りの利点
RLock() は複数のゴルーチンが同時に取得できます。 通常の Mutex では読み取り同士もブロックし合いますが、 RWMutex では読み取りは並行に行えます。
Goエディタ
MutexとRWMutexの使い分け
読み取りが多い場合は RWMutex、 読み書きが同程度なら通常の Mutex が適切です。 RWMutex はオーバーヘッドがあるため、常に有利とは限りません。
Goエディタ