C# 在X进程等待时释放锁定

C# 在X进程等待时释放锁定,c#,.net,windows,synchronization,ipc,C#,.net,Windows,Synchronization,Ipc,我在.Net(C#)中工作,试图实现一种机制,该机制仅在有X个进程希望同时执行此任务时才会执行此任务。 如果想要执行此任务的进程(尚未)少于X个,则这些进程应等待,直到有X个进程准备好并发执行此任务 我可以用一个互斥体/共享内存实现忙等待方法。但我想知道是否有更好的方法。是否有一个Windows机制可以做我需要做的事情 基本上,我会在一台机器上运行100多个不同进程(每个进程中有6个不同的应用程序域)中的相同.EXE文件(我得到的规范,无法更改)。由于进程的创建不是即时的,因此我需要实现一种机制

我在.Net(C#)中工作,试图实现一种机制,该机制仅在有X个进程希望同时执行此任务时才会执行此任务。
如果想要执行此任务的进程(尚未)少于X个,则这些进程应等待,直到有X个进程准备好并发执行此任务

我可以用一个互斥体/共享内存实现忙等待方法。但我想知道是否有更好的方法。是否有一个Windows机制可以做我需要做的事情

基本上,我会在一台机器上运行100多个不同进程(每个进程中有6个不同的应用程序域)中的相同.EXE文件(我得到的规范,无法更改)。由于进程的创建不是即时的,因此我需要实现一种机制,该机制只在所有进程都已启动并准备好工作时才运行任务,以确保任务同时运行


有什么想法吗

可能重复@HansPassant谢谢您的回复。但是你发布的链接中的答案是用于跨线程同步,而不是用于跨进程同步。因此,请更改它。将ManualResetEvent替换为命名的EventWaitHandle,并使用MemoryMappedFile共享计数。我严重怀疑Joe Duffy是否认为在进程和应用程序域中运行600个线程是一个好主意。@HansPassant感谢您的回答,这是一个很好的解决方案!如何将您的评论标记为我问题的解决方案\正确答案?