我正在编写一个使用 MPI 模拟交通信号灯的 C++ 程序。基本上,我需要每两秒钟,进程 0 应该向所有其他需要更改颜色的进程(交通灯)发送一条消息。我目前的方法是这样的(我没有实际的代码):
if ( process_rank == 0)
{
while(true)
{
Sleep(2000); //we sleep for 2 seconds
for(i=1; i<=n;i++)
{
MPI_Send( message to change color to process i);
}
}
}
else
{
MPI_Recv(message to change color);
}
代码没问题,没有编译错误,但问题似乎在我的逻辑中。由于某种原因,我无法理解,该程序没有达到预期的效果。有没有一种好方法可以连续运行 MPI 程序并每 X 秒发送一条消息?谢谢你