ロックフリーデータ構造
マルチスレッドな環境でデータを共有して処理するときに排他ロックを必要としないデータ構造。 ただし、詳細に以下の分類をする場合がある
排他ロックフリー(obstruction-freedom)
Mutexのようなスレッドをブロックする処理を行わない
ロックフリー(lock-freedom)
ライブロックが起きない
特定の状態遷移を繰り返して処理が完了しないということがない
例:互いにリソースを譲り合ってお互いに何もリソースを確保できない、ということがない
ウェイトフリー(wait-freedom)
あるプロセスが存在して処理が完了しない場合がある(特定の状態で処理が止まってしまう)ことがない
<-> すべてのプロセスが(共有データにアクセスしながら)処理を完了できる