【发布时间】:2011-06-26 02:49:03
【问题描述】:
什么时候适合在 C# 中使用 Monitor 类或 lock 关键字来保证线程安全?
编辑:
从到目前为止的答案看来,lock 是对Monitor 类的一系列调用的简写。 lock call 的简写到底是什么?或者更明确地说,
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 ?
}
}
更新
感谢大家的帮助:我已经发布了另一个问题,作为对你们提供的一些信息的跟进。由于您似乎精通这方面的知识,因此我发布了链接:What is wrong with this solution to locking and managing locked exceptions?
【问题讨论】:
标签: c# .net multithreading locking monitor