我想跨多个进程共享资源,然后在最后一个进程退出(无论是正常还是exception)时closures资源,或者声明已完成资源。 启动时必须进行一些握手,但这是可行的。 有趣的部分是等待进程退出。
据我所知,一个有名的信号量(初始值很高)只能满足最后一项要求。 但信号量倒数而不是倒数,我看不出有什么办法可以达到最大值 。
如果没有原始的存在,是否有一个.NET库创build类似的东西,或有关如何build立一个?
(这是为了一个可能的实现, 我怎样才能等到一个Windows进程及其subprocess全部退出?但是,这个问题有很多可能的方法,在这里我特别想探讨一下同步对象是否能胜任这个任务。他们是我想到的第一个方法,但是我希望在这里学到一些关于他们是否真的会为此工作的东西。)
没有任何原始符合所有这些条件。 您将不得不建立自己的与CountdownEvent
等价的跨进程。