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 ?
}
}
更新
ご協力いただきありがとうございます。ご提供いただいた情報の一部をフォローアップするために、別の質問を投稿しました。あなたはこの分野に精通しているようですので、私はリンクを投稿しました:ロックされた例外をロックして管理するこのソリューションの何が問題になっていますか?