是否有Windows(或.NET)同步原语:
我希望跨多个进程共享资源,然后在最后一个进程退出时(无论是正常还是异常)关闭资源,或者声明它已经完成了资源。在启动时必须有一些握手,但这是可行的;有趣的部分是等待进程退出。
据我所知,一个命名的信号量(具有高初始计数)可以满足除最后一个要求之外的所有要求。但信号量倒计时而不是上升,我没有办法等待一个人达到最大计数。
如果没有原语存在,是否有一个.NET库可以创建类似的东西,或者有关如何构建它的信息?
(这是针对How can I wait until a Windows process, and its subprocesses, have all exited?的可能实现。但是这个问题有很多可能的方法,这里我特别想探讨同步对象是否适合任务。它们是第一个出现的方法。我,但我希望在这里学到一些关于他们是否真的能为此工作的方法。)
答案 0 :(得分:1)
没有满足所有这些条件的基元。您必须构建自己的跨进程等效的CountdownEvent
。