応用情報暗記無料で始める

セマフォとミューテックスとは?せまふぉとみゅーてっくす

セマフォとミューテックスとは、共有資源への同時アクセスを制限する同期機構。セマフォは使える資源の個数を表すカウンタで、確保するP操作(wait)で1減らし、0なら空くまで待ち、解放するV操作(signal)で1増やす。ミューテックスはこれを資源1個に限定し、ロックした本人しか解放できないという所有者の概念を加えたものである。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では3回出題されています(2018年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

別名:セマフォと相互排除、相互排除、バイナリセマフォ、P操作、V操作、セマフォ、ミューテックス

この語が出る過去問を解く →

背景

複数の実行単位が同じ変数や装置を勝手に触ると、読み出してから書き戻すまでの間に別の実行単位が割り込み、更新が消える競合状態が起きる。割込み禁止で守るとシステム全体が止まり、多重度も上げられない。守りたい区間だけを、待たせる仕組みで直列化するという発想がダイクストラの提案したセマフォで、応用情報ではデッドロックの成立条件と組で問われる。

具体例

同時接続数を5に抑えたいコネクションプールは初期値5のセマフォで表せ、6番目の要求は誰かが返却するまで待たされる。1つのログファイルへの書込みを直列化するならミューテックスを使う。データベースの排他制御でも同じ考え方が使われており、シラバスでもロック方式や多版同時実行制御(MVCC)と並べてセマフォ方式が挙げられている。

試験での引っ掛け

P操作とV操作の向きを取り違えると関連する設問をまとめて落とす。減らして足りなければ待つのがP、増やして待機者を起こすのがVで、カウンタが正ならPは待たずに進む。またミューテックスは獲得したスレッドしか解放できないのに対し、セマフォは別のスレッドがV操作を出してよく、この非対称性が生産者消費者問題の解になる。複数のロックを取る順序がスレッドごとに違うとデッドロックする点も定番。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2018年度〜2025年度)
  • 分野:テクノロジ系
  • P操作とV操作の向きを取り違えると関連する設問をまとめて落とす。