|
3
|
| chillitom Cee McSharpface · 技术社区 · 16 年前 |
|
1
1
也许是另一种情况。看看埃里克的这些帖子:
简而言之:
想象一下在
所以,使用第二段代码来确保一切都按预期工作。 |
|
|
2
2
唯一不同的方法是,如果在示例1中的waitone之后、try start之前或try start之后、但在示例2中的waitone之前发生异常。在第一种情况下,不会释放互斥体,在第二种情况下,可能会尝试释放互斥体,即使没有挂起的等待。例外情况必须是一些严重的事情,如在任何一个地方都会发生线程异常。但是,如果互斥体包含在using块中,这两个都不是问题。 编辑:在阅读了埃里克关于奥利弗链接到的这个主题的文章之后,我认为即使有一个使用块,情况也不完美,按照奥利弗的建议,简单地使用第二个版本也是你最好的选择。 |
|
|
3
0
如果您不使用互斥进行跨进程同步。 查看此问题的答案 C# - Locking issues with Mutex 这样会更安全:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |