Quando è appropriato utilizzare la Monitor
classe o la lock
parola chiave per la sicurezza dei thread in C #?
EDIT:
Dalle risposte finora sembra che lock
sia breve per una serie di chiamate alla Monitor
classe. A cosa serve esattamente la chiamata di blocco? O più esplicitamente,
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 ?
}
}
Aggiornare
Grazie a tutti per il vostro aiuto: ho pubblicato un'altra domanda come seguito ad alcune delle informazioni che avete fornito. Dato che sembri essere esperto in questo settore, ho pubblicato il link: Cosa c'è di sbagliato in questa soluzione per bloccare e gestire le eccezioni bloccate?