Lock
ロックは共有リソースへの排他的アクセスを保証する同期プリミティブである。ミューテックス、読み書きロック、スピンロックなどの種類がある。
目的
データ競合からクリティカルセクションを保護する。共有メモリ型並行処理の中核である。
メカニズム
ミューテックスは排他アクセスで、同時に一つのスレッドのみが保持できる。読み書きロックは多数の読み取りと単一の書き込みを許す。スピンロックはスリープせずビジーウェイトする。再入可能ロックは同じスレッドが繰り返し取得できる。デッドロック回避のためロック取得順序に注意する。
ユースケース
- マルチスレッドの同期(synchronization)
- クリティカルセクションの保護
- スレッド安全性