Rob*_*ean 2 .net mutex dispose idisposable waithandle
我正在审查一些代码,其中一个代码分析(fxCop)警告让我非常困惑.该代码通过在类的开头创建变量来实现一些互斥体,类似于:
private Mutex myMutex = new Mutex();
Run Code Online (Sandbox Code Playgroud)
fxCop弹出一条消息说我必须为类实现IDisposable,因为Mutex类实现它 - 这是警告CA1001.但是看看Mutex它没有处理方法.
事实证明,Mutex使用SafeWaitHandle(实现IDisposable - 猜测这就是fxCop正在拾取的东西),但是互斥体实际上并没有通过标准的一次性模式处理它.它有一个私有方法,使用RuntimeHelpers.CleanupCode分配给委托,据我所知,这意味着它将在异常上运行.
这提出了两个问题:
| 归档时间: |
|
| 查看次数: |
1666 次 |
| 最近记录: |