在不知道进程启动顺序的情况下在另一个进程上触发事件

Posted

技术标签:

【中文标题】在不知道进程启动顺序的情况下在另一个进程上触发事件【英文标题】:Fire an event on another process without knowing the process start order 【发布时间】:2013-02-20 17:15:40 【问题描述】:

我需要最快的方式在其他进程中触发事件,我知道我可能会使用互斥锁,但是当我不知道启动两个进程的顺序时,很难管理互斥锁,其中一个进程可能是关闭或没有运行,我想在使用FileSystemWatcher,但是它有很大的开销,然后我想在使用MemoryMappedFiles,我可以监视一些命名的内存映射文件,并在该文件存在时触发事件,并删除该文件当事件触发时,有什么想法吗?

【问题讨论】:

【参考方案1】:

EventResetMode.ManualReset 模式下使用带有名称的EventWaitHandle。确保设置它的应用程序保持打开状态。请注意,一旦关闭它的所有句柄,该事件将不再存在,因此将恢复为默认值。

【讨论】:

只是补充一点:您需要使用带有名称的构造函数才能将句柄公开给其他进程。

以上是关于在不知道进程启动顺序的情况下在另一个进程上触发事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在不重复的情况下在进程之间共享大量数据? (IPC)

如何在 c#/.net 中让一个进程在另一个进程中触发一个事件?

如何在不复制的情况下在多个进程中使用大型数据集?

BASH:试图在不引入空格的情况下在另一行上继续一个字符串[重复]

如何在不传递引用的情况下在 Python 中使用 SyncManager 跨进程共享列表

应该打字吗?如果不是,如何在不破坏用户的情况下在 npm install 上触发类型安装?