C 多处理
一个进程pid有两个子进程,称为pid1和pid2,现在基于某种条件,一些工作需要在运行时分配给pid1,另一些分配给pid2C 多处理,c,multiprocessing,C,Multiprocessing,一个进程pid有两个子进程,称为pid1和pid2,现在基于某种条件,一些工作需要在运行时分配给pid1,另一些分配给pid2 while(1) { if(x is even) { send data to pid1 ; } else { send data to pid2 ; } } 我们需要在运行时从父进程向这些子进程发送一些消息。 有办法吗? 谢谢。您可以利用套接字编程或共享内存进行进程消息传递。您可以创建两个线程而不是子进程。家长应根据数据类型(偶
while(1)
{
if(x is even)
{
send data to pid1 ;
}
else
{
send data to pid2 ;
}
}
我们需要在运行时从父进程向这些子进程发送一些消息。
有办法吗?
谢谢。您可以利用套接字编程或共享内存进行进程消息传递。您可以创建两个线程而不是子进程。家长应根据数据类型(偶数/奇数)插入两个不同的队列,例如
EvenDataQ
&OddDataQ
EvenDataQ
OddDataQ
-易于实现您的场景。假设::您知道两个子进程的PID 您始终可以这样做::
while(1)
{
if(x is even && PID_Of_pid1 == PID_Of_First_Child(xxx))
{
send data to pid1 ;
}
else
{
send data to pid2 ;
}
}
首先,看一下这里:是的,我知道PID,但是因为有while循环,所以我需要向这些子进程发送数据,一些文本消息,在每个循环中,我想,我会尝试使用套接字或共享内存,但是谢谢