MailSlot的进程同步

process synchronization for MailSlot

本文关键字:进程同步 MailSlot      更新时间:2023-10-16

我正在尝试在windows上的两个进程之间进行进程间通信,从高层角度来看,我想同步这两个进程,假设有两个进程:进程1进程2,

进程1是32位应用程序,进程2是64位应用程序,进程1正在运行,有时它正在调用进程2,进程2短期运行并自行关闭,进程2打开时需要从进程1读取一些数据。

对于这种情况,我认为MailSlot可能是一个很好的候选者,为了通过邮件槽进行通信,进程2必须创建一个邮件槽,然后进程1应该向该邮件槽发送邮件,而不是进程2应该读取邮件槽,我的问题是我如何同步这两个进程,以便在进程2打开时创建一个邮箱槽,比它触发进程1发送邮件并切换到等待状态,比进程1向进程2发送邮件,比进程2切换到运行状态并读取邮件。

如何实现这样的场景?

process1创建一个事件。

进程1启动进程2。

process1等待事件发出信号。

process2创建其mailslot。

process2打开事件对象

process2用信号通知该事件。

process1将数据发送到process2。

process1重置事件。

或者尝试重用您现在拥有的代码,在process1中添加一个mailslot以从process2获得通知,将参数发送到process2的mailslot。