スピンロック 【spinlock】
概要
スピンロック(spinlock)とは、並列処理における排他制御の手法の一つで、ロックされた資源が解放されるまでロック状態をチェックする処理を繰り返しながら待つ方式。ロックは排他制御の方式の一つで、コンピュータ内で並行して実行されているプログラム(スレッドやプロセス)のうち、ある一つが特定の資源(メモリ領域)を利用し始めると、処理が終わるまで他の主体によるアクセスを禁じる仕組みである。
スピンロックは最も単純なロック方式の一つで、利用したい資源がロックされて待たされている他のプログラムが、単純にロック状態をチェックするだけのループ(繰り返し)処理を実行し続ける方式である。待っている間に他の処理を行うことができず処理効率は低くなるが、実装や制御が容易である。ロックの単位が小さく(ロック粒度が細かい)、一回のロック時間が短いことが見込まれるシステムに向いている。
(2021.6.27更新)