|
|
1
5
我有两份申请:
控制台应用程序2.cs
|
|
|
2
4
|
|
3
4
我已经成功地将互斥体用于这个目的,并且可以确认它是有效的,尽管有一些怪癖。
更新:
测试互斥逻辑。
|
|
|
4
0
尽管我建议您使用互斥并调查问题是否出在代码本身,但一个非常复杂且非常脆弱的替代方法可能是使用“锁定文件”。
正如我所说,它非常复杂和脆弱,但它不使用互斥。
|
|
|
5
0
如果您不想使用互斥体,我认为使用现有的文件滚动您自己的互斥体将是一个简单的解决方案。如果文件存在,请不要启动新文件。但是,您必须处理进程提前终止且文件未清理的异常情况。 暂时回到互斥,这只是一个操作系统“对象”,因为缺少更好的术语。在你使用的每一个操作系统上,你真的需要这样的东西。我相信其他.net clr也会允许您访问这些系统原语。我只是使用一个定义的程序集来包装每个平台,在每个平台上可能会有所不同。 希望这是有意义的。 |
|
|
6
-1
也许我过于简化了这个问题,但我只是在过去检查了流程名称。 您可以使用此函数等待其他进程完成,然后运行当前进程。
|