【问题标题】:process synchronization for MailSlotMailSlot 的进程同步
【发布时间】:2013-12-02 09:05:07
【问题描述】:

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

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

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

如何实现这样的场景?

【问题讨论】:

    标签: c++ winapi interprocess mailslot


    【解决方案1】:

    process1 创建一个event

    process1 启动 process2。

    process1 wait on event to signal.

    process2 创建它的邮槽。

    process2 opens事件对象

    process2 signals 事件。

    process1 将数据发送到 process2。

    process1 resets 事件。

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

    【讨论】:

    • 成功了,非常感谢。我是进程间通信的新手,我不知道我可以使用事件。
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多