コンテンツへスキップ
uencoder

Lock

ロックは共有リソースへの排他的アクセスを保証する同期プリミティブである。ミューテックス、読み書きロック、スピンロックなどの種類がある。

目的

データ競合からクリティカルセクションを保護する。共有メモリ型並行処理の中核である。

メカニズム

ミューテックスは排他アクセスで、同時に一つのスレッドのみが保持できる。読み書きロックは多数の読み取りと単一の書き込みを許す。スピンロックはスリープせずビジーウェイトする。再入可能ロックは同じスレッドが繰り返し取得できる。デッドロック回避のためロック取得順序に注意する。

ユースケース

  • マルチスレッドの同期(synchronization)
  • クリティカルセクションの保護
  • スレッド安全性

関連用語

References