我想让事情更简单.这是我的代码:
If Threading.Monitor.TryEnter(syncRoot) Then Try 'do something Finally Threading.Monitor.Exit(syncRoot) End Try Else 'do something else End If
这在噪声方面比ReaderWriterLock更糟糕.我可以使用C#或VB,因此欢迎适用于其中任何一个的答案.
使用代表?
例如
public bool TryEnter(object lockObject, Action work) { if (Monitor.TryEnter(lockObject)) { try { work(); } finally { Monitor.Exit(lockObject); } return true; } return false; }