C # 'da iş parçacığı güvenliği için Monitor
sınıfın veya lock
anahtar sözcüğün kullanılması ne zaman uygundur ?
DÜZENLEME:
Şimdiye kadar verilen cevaplardan lock
, Monitor
sınıfa yapılan bir dizi çağrı için kısa bir el gibi görünüyor . Kilit çağrısı tam olarak ne içindir? Veya daha açık bir şekilde,
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 ?
}
}
Güncelleme
Hepinize yardımınız için teşekkür ederim: Sağladığınız bilgilerden bazılarının devamı olarak başka bir soru gönderdim. Bu alanda çok bilgili göründüğünüz için, bağlantıyı gönderdim: Kilitli istisnaları kilitlemek ve yönetmek için bu çözümde yanlış olan nedir?