セマフォ

コンピューターサイエンスでは、セマフォは1つ以上のリソースへのアクセスを制御する変数です。これは、開発者関数によって有効なデータだけがアクセスされ、適切なタイミングで実行されるようにするために使うツールです。セマフォは、リソースが利用できないときにそのリソースへのアクセスを許可しないことで、デッドロック競合状態を防ぐことができます。

コンピュータープログラミングで使われるセマフォには、主に二値セマフォとカウントセマフォの2種類があります。

二値セマフォ

二値セマフォは、2つの値(0または1)だけを持つことができるブール値の変数です。関数やリソースへのアクセスを制限するロックとしてよく使われます。たとえば、セマフォAがgetData()関数を制御するとします。A = 0の場合、getData()は実行されません。A = 1の場合、getData()が実行されます。二値セマフォは、オンまたはオフのどちらかになるフラグやスイッチとも考えられます。

カウントセマフォ

カウントセマフォには、ゼロ以上の任意の整数を設定できます。これは自然数とも呼ばれます。その値は、1つ以上の関数の結果に基づいて増減します。たとえば、カウントセマフォを使って、リソースプール内で利用可能なリソースの数を追跡できます。セマフォの値が増加するよりも減少するほうが多い場合、最終的に0になります。値が0であることは、利用できるリソースがもう残っていないことを示します。

NOTE:現実世界での「セマフォ」は、遠くから合図を送るために使う旗やその他の物体です。たとえば、フェリーの船長に乗船したいことを知らせるために、人物が桟橋からポールを掲げることがあります。

更新日 February 1, 2020 著者: Per C.

quiz知識をテストする

NTFS superseded which file system?

A
APFS
0%
B
FAT32
0%
C
HFS
0%
D
XFS
0%
Correct! Incorrect!     View the NTFS definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのセマフォの定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。