什么时候在C#中使用Monitor
类或lock
关键字来确保线程安全?
编辑:
从到目前为止的答案看来,这lock
是对该Monitor
课程的一系列电话的简称。锁定调用简写的确切含义是什么?更明确地说,
class LockVsMonitor
{
private readonly object LockObject = new object();
public void DoThreadSafeSomethingWithLock(Action action)
{
lock (LockObject)
{
action.Invoke();
}
}
public void DoThreadSafeSomethingWithMonitor(Action action)
{
// What goes here ?
}
}
更新资料
谢谢大家的帮助:作为您提供的某些信息的后续,我还发布了另一个问题。由于您似乎对此领域很精通,因此我发布了链接:锁定和管理锁定异常的解决方案有什么问题?