プロセス間通信(6):セマフォ

セマフォ

セマフォ(セマフォ)、また、光として知られ、物語はオランダから来ている:電車フラグに応じて渡すかどうかを決定します。実際には、交通信号灯の役割。図に示すように。

セマフォ信号およびトラフィックライトを理解することで、彼らは同じように感じているようです。しかし、セマフォメカニズムがイベントの交通信号用(ブロッキングのプロセスを)待っている人や、待機(プロセスを実行し続け)、のみこれら二つの行為に基づいており;およびシグナリングメカニズムは必ずしも、交通信号に応じて任意の可能なイベント処理で作られて待機(ブロック)または前方(ブロックされていません)。

コンピュータの分野では、信号の量が正の場合、多くのセマフォも光の数は、使用することができるセマフォの値がゼロまたは負であってもよい表しているかを示す、整数値です。実際の作業にPVセマフォ操作(二プリミティブ)に結合する、Pセマフォ操作が減算され、Vは、セマフォ操作を加えます。

多くのセマフォ変異体、セマフォルールの以下の簡単な説明の一つがあります。

  • 1.処理要求操作P(デクリメント、すなわちトラフィックライトを要求する)場合、シグナルの量を差し引いた後の値は、減算は0又は正数、プロセス解除された後、プロセスは、ブロックされ、負であります
  • 2.プロセスは、V操作(操作プラス1、すなわち光放出または増加)、処理を直接解放を要求した場合
  • 3.リクエストV動作の場合、依然として1 0又は負の添加後、プロセスは、他のブロックされたウェイクアッププロセスを解放した場合。もし、1は正の数で加算した後、その後、直接リソースのライトを追加

要約するのは簡単である:なしセマフォリソース(0以下)場合には、ライトの消費(Pプリミティブ)プロセスがブロックされる、光のリソース(0より大きい)、直接放出がある場合。プロセスは光リソース(プリミティブV)、当然のプロセスを生成するために使用されている場合は、リリースされる、トラフィックライトを追加するために、あなたはまた、ブロックされたプロセスは、(存在する場合、プロセスはブロックされている)能力を持って目を覚ますことができます。

そうでなければ、Pロック操作ロックを適用するための1の値がある場合にのみ適用することである:最も簡単なコースは、最初の順序は、機構は(また、ミューテックスとしても知られている)相互排他ロックを達成する際に信号光の量のみを使用することです閉塞; Vは、ロックが解除されている解放することです。

おすすめ

転載: www.cnblogs.com/liujunjun/p/12411712.html