スピンロックとは?
スピンロックとは、ロックが取れるまでタスクを待ち状態にせず、ループで判定を繰り返しながら待つ排他制御。コンテキストスイッチが発生しないため、保持時間がごく短い区間や、待ち状態になれない割込み処理、マルチコア間の排他に用いられる。
すぴんろっく
スピンロックの意味
ロックが取れるまでタスクを待ち状態にせず、ループで判定を繰り返しながら待つ排他制御。コンテキストスイッチが発生しないため、保持時間がごく短い区間や、待ち状態になれない割込み処理、マルチコア間の排他に用いられる。
スピンロックの具体例
2つのコアが共有するカウンタを更新する数十サイクルの区間を、テストアンドセットなどの不可分命令を使ったスピンロックで守る。逆に数ミリ秒かかるフラッシュメモリ書込みの排他に使うと、待つ側のコアがその間ずっと無駄に回り続ける。
スピンロックは試験でどう引っ掛けられる?
待っている間もCPUを消費するので、保持が長い場面ではミューテックスより不利。単一コアでプリエンプティブに使うと保持側が動けず永久に回り続けるため、割込み禁止などとの併用が前提になる。
スピンロックと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。