ホームページ  >  記事  >  プロセス間通信にはどのような方式があるのでしょうか?

プロセス間通信にはどのような方式があるのでしょうか?

coldplay.xixi
coldplay.xixiオリジナル
2021-02-04 11:56:4077692ブラウズ

プロセス間通信の方法には次のものが含まれます: 1. パイプは通常、UNIX システムの IPC の最も古い形式である名前のないパイプを指します、2. FIFO、ファイル タイプ、3. メッセージ キュー、メッセージのリンクされたリストであり、カーネルに保存されます; 4. セマフォはカウンターです; 5. 共有メモリ。

プロセス間通信にはどのような方式があるのでしょうか?

#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。

プロセス間通信のメソッドは次のとおりです:

1. パイプ

パイプは通常、名前のないパイプを指します。 UNIX システムです IPC の最も古い形式です。

機能:

  • 半二重 (つまり、データは一方向にのみ流れることができます) で、読み取りと書き込みの端が固定されています。

  • アフィニティ関係のあるプロセス間 (親子プロセスや兄弟プロセス間も) の通信にのみ使用できます。

  • 特殊なファイルとみなして、通常の読み書き等の関数でも読み書き可能です。ただし、これは通常のファイルではなく、他のファイル システムに属さず、メモリ内にのみ存在します。

2. FIFO

FIFO は名前付きパイプとも呼ばれ、ファイル タイプの 1 つです。

1. 特徴

  • FIFO は、名前のないパイプとは異なり、無関係なプロセス間でデータを交換できます。

  • FIFO にはパス名が関連付けられており、特別なデバイス ファイルとしてファイル システム内に存在します。

3. メッセージ キュー

メッセージ キューは、カーネルに保存されるメッセージのリンクされたリストです。メッセージキューは識別子(キューID)によって識別されます。

特長

  • メッセージ キューはレコード指向であり、その中のメッセージには特定の形式と特定の優先順位があります。

  • メッセージ キューは、送信プロセスと受信プロセスから独立しています。プロセスが終了しても、メッセージ キューとその内容は削除されません。

  • メッセージキューは、メッセージのランダムなクエリを実現できます。メッセージは先入れ先出しの順序で読み取る必要はなく、メッセージの種類に応じて読み取ることもできます。メッセージ。

4. セマフォ

セマフォ (セマフォ) は、これまでに紹介した IPC の構造とは異なり、カウンターです。セマフォは、プロセス間通信データを保存するのではなく、プロセス間の相互排他と同期を実装するために使用されます。

特長

  • プロセス間の同期にはセマフォを使用しますが、プロセス間でデータを転送するには共有メモリと組み合わせる必要があります。

  • セマフォはオペレーティング システムの PV 操作に基づいており、セマフォ上のプログラムの操作はすべてアトミック操作です。

  • セマフォ上の各 PV 操作は、セマフォ値に 1 を加算または 1 を減算することに限定されず、任意の正の整数を加算または減算することもできます。

  • セマフォ グループをサポートします。

5. 共有メモリ

共有メモリ (共有メモリ) とは、特定の記憶領域を共有する 2 つ以上のプロセスを指します。

特長

  • 共有メモリは、プロセスがメモリに直接アクセスするため、最も高速なタイプの IPC です。

  • 複数のプロセスが同時に動作する可能性があるため、同期が必要です。

  • セマフォ 通常、共有メモリは併用され、セマフォは共有メモリへのアクセスを同期するために使用されます。

# プログラミングについてさらに詳しく知りたい場合は、php トレーニング# に注目してください。 ## カラム!

以上がプロセス間通信にはどのような方式があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。