<GoLearn/>
ゴルーチン レッスン4

RWMutex

sync.RWMutexを使って、読み取りが多い場面でのパフォーマンスを改善する方法を学びます。

RWMutexとは

sync.RWMutex は読み取りロック(RLock)と書き込みロック(Lock)を分離します。 複数のゴルーチンが同時に読み取りでき、書き込みは排他的に行われます。 読み取りが多く書き込みが少ないワークロードで効果的です。

Goエディタ

並行読み取りの利点

RLock() は複数のゴルーチンが同時に取得できます。 通常の Mutex では読み取り同士もブロックし合いますが、 RWMutex では読み取りは並行に行えます。

Goエディタ

MutexとRWMutexの使い分け

読み取りが多い場合は RWMutex、 読み書きが同程度なら通常の Mutex が適切です。 RWMutex はオーバーヘッドがあるため、常に有利とは限りません。

Goエディタ