過去問ドリル

セマフォとは

共有資源の使用を制御する仕組み。待ち(P操作)と解放(V操作)で排他制御や同期を行います。

解説

セマフォは整数の値を持つ変数で、P操作(獲得)は値を1減らし、0より小さくなる場合は待ち状態になります。V操作(解放)は値を1増やし、待っている処理があれば1つ再開させます。初期値を1にすれば同時に1つの処理だけが資源を使える排他制御になり、初期値を n にすれば最大 n 個まで同時に使える制御になります。処理どうしの実行順序をそろえる同期にも使えます。

試験での出方

セマフォの値の変化を追って、どの処理が待たされるかを答える問題が出ます。

あわせて読みたい用語

この用語が解説に出てくる問題