在不知道进程启动顺序的情况下在另一个进程上触发事件
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
。确保设置它的应用程序保持打开状态。请注意,一旦关闭它的所有句柄,该事件将不再存在,因此将恢复为默认值。
【讨论】:
只是补充一点:您需要使用带有名称的构造函数才能将句柄公开给其他进程。以上是关于在不知道进程启动顺序的情况下在另一个进程上触发事件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c#/.net 中让一个进程在另一个进程中触发一个事件?
BASH:试图在不引入空格的情况下在另一行上继续一个字符串[重复]