0

プロセス pid には pid1 と pid2 という 2 つの子プロセスがあり、特定の条件に基づいて、実行時に一部の作業を pid1 に割り当て、一部の作業を pid2 に割り当てる必要があります。

while(1)
{
 if(x is even)
  {
    send data to pid1 ;
  }
 else
  {
    send data to pid2 ;
  }
 }

実行時に、親プロセスからこれらの子プロセスにいくつかのメッセージを送信する必要があります。それを行う方法はありますか?ありがとう。

4

3 に答える 3

0

仮定:: 両方の子プロセスの PID を知っている。

あなたはいつでもこれを行うことができます::

while(1)
{
 if(x is even && PID_Of_pid1 == PID_Of_First_Child(xxx))
  {
    send data to pid1 ;
  }
 else
  {
    send data to pid2 ;
  }
 }
于 2012-10-17T06:28:17.643 に答える
0

ソケット プログラミングまたはプロセス メッセージング用の共有メモリから利用できます。

于 2012-10-17T06:07:22.367 に答える
0

子プロセスの代わりに 2 つのスレッドを作成できます。EvenDataQ親は、データ型 (偶数/奇数)、たとえば&に基づいて 2 つの異なるキューに挿入しますOddDataQ

  1. 偶数 xデータを処理するスレッド。からデータを選択しますEvenDataQ
  2. 奇数 xデータを処理する別のスレッド。からデータを選択しますOddDataQ

各キューに 1 つずつ、2 つのミューテックスを使用します。キューの実装はあなた次第です。

PS: - スレッドはプロセスよりも軽量です。- シナリオを簡単に実装できます。

于 2012-10-17T06:20:48.413 に答える