開発 セマフォとは何ですか? -techopediaからの定義

セマフォとは何ですか? -techopediaからの定義

目次:

Anonim

定義-セマフォとはどういう意味ですか?

セマフォは、並列プログラミング環境の共通リソースへの複数のプロセスによるアクセスを制御する同期オブジェクトです。 セマフォは、ファイルおよび共有メモリへのアクセスを制御するために広く使用されています。 セマフォに関連付けられた3つの基本的な機能が設定され、チェックされ、クリアされて再度設定されるまで待機します。 |


セマフォは、ベンチマークの同期の問題に対処するために使用されます。


セマフォの概念は、オランダのコンピューター科学者Edsger Dijkstraによって提唱されました。

Techopediaはセマフォを説明します

セマフォは、操作semaphore-> P()およびsemaphore-> V()をサポートする負でない整数値です。 Pはセマフォが正になるのを待ってから1ずつ減るアトミック操作で、Vはセマフォを1ずつ増やすアトミック操作です。これは、待機中のPを起動することを意味します。低レベルのクリティカルセクションを調整するためにハードウェアに実装されます。


通常、セマフォはファイル記述子を使用して実装されます。 セマフォの作成はアトミックではありません。 2つのプロセスが同時にセマフォを作成、初期化、使用しようとすると、競合状態が発生します。 セマフォが作成され、正の値に初期化されて、使用されるリソースの可用性が示されます。 セマフォは、割り込みまたはテストセット操作を使用して実装できます。


すべてのセマフォは許可のセットを維持します。 リソースにアクセスするスレッドの数を制限します。 許可が1つのみで1つに初期化されたセマフォは、相互排他ロックとして機能します。 許可可能またはゼロ許可可能という2つの状態しかないため、それらはそのように呼ばれます。 これにより、所有者以外のスレッドがロックを解除できるようにプロパティが囲まれ、デッドロックの回復に役立ちます。 セマフォは、セマフォの初期値が1であり、クリティカルセクションの前後にP()およびV()が呼び出される相互排除に使用されます。

セマフォとは何ですか? -techopediaからの定義