我正在努力让事情变得更简单。这是我的代码:
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,因此欢迎回答适用于其中任何一个的问题。
最佳答案
使用委托(delegate)?
例如
public bool TryEnter(object lockObject, Action work)
{
if (Monitor.TryEnter(lockObject))
{
try
{
work();
}
finally
{
Monitor.Exit(lockObject);
}
return true;
}
return false;
}
关于c# - 你会如何简单地 Monitor.TryEnter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170051/