Condividi tramite


Monitor Classe

Definizione

Fornisce un meccanismo che sincronizza l'accesso agli oggetti.

public ref class Monitor abstract sealed
public ref class Monitor sealed
public static class Monitor
public sealed class Monitor
[System.Runtime.InteropServices.ComVisible(true)]
public static class Monitor
type Monitor = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Monitor = class
Public Class Monitor
Public NotInheritable Class Monitor
Ereditarietà
Monitor
Attributi

Commenti

Per altre informazioni su questa API, vedere Osservazioni api supplementari per Monitoraggio.

Proprietà

LockContentionCount

Ottiene il numero di volte in cui si è verificata una contesa durante il tentativo di acquisire il blocco del monitoraggio.

Metodi

Enter(Object)

Acquisisce un blocco esclusivo sull'oggetto specificato.

Enter(Object, Boolean)

Acquisisce un blocco esclusivo sull'oggetto specificato e imposta atomicamente un valore che indica se il blocco è stato ottenuto.

Exit(Object)

Viene rilasciato un blocco esclusivo sull'oggetto specificato.

IsEntered(Object)

Determina se il thread corrente specificato contiene il blocco sull'oggetto specificato.

Pulse(Object)

Consente di notificare a un thread della coda di attesa che lo stato dell'oggetto bloccato è stato modificato.

PulseAll(Object)

Notifica a tutti i thread in attesa che lo stato dell'oggetto è stato modificato.

TryEnter(Object)

Prova ad acquisire un blocco esclusivo sull'oggetto specificato.

TryEnter(Object, Boolean)

Prova ad acquisire un blocco esclusivo sull'oggetto specificato e imposta atomicamente un valore che indica se il blocco è stato ottenuto.

TryEnter(Object, Int32)

Viene eseguito, per un numero specificato di millisecondi, il tentativo di acquisire un blocco esclusivo sull'oggetto specificato.

TryEnter(Object, Int32, Boolean)

Prova ad acquisire, per il numero di millisecondi specificato, un blocco esclusivo sull'oggetto specificato e imposta atomicamente un valore che indica se il blocco è stato ottenuto.

TryEnter(Object, TimeSpan)

Viene eseguito, per una quantità di tempo specificata, il tentativo di acquisire un blocco esclusivo sull'oggetto specificato.

TryEnter(Object, TimeSpan, Boolean)

Prova ad acquisire, per la quantità di tempo specificata, un blocco esclusivo sull'oggetto specificato e imposta atomicamente un valore che indica se il blocco è stato ottenuto.

Wait(Object)

Rilascia il blocco su un oggetto e interrompe il thread corrente finché riacquisisce il blocco.

Wait(Object, Int32)

Rilascia il blocco su un oggetto e interrompe il thread corrente finché riacquisisce il blocco. Allo scadere dell'intervallo di timeout specificato, il thread viene inserito nella coda di thread pronti.

Wait(Object, Int32, Boolean)

Rilascia il blocco su un oggetto e interrompe il thread corrente finché riacquisisce il blocco. Allo scadere dell'intervallo di timeout specificato, il thread viene inserito nella coda di thread pronti. Questo metodo consente anche di specificare se il dominio di sincronizzazione per il contesto, qualora si trovi in un contesto di sincronizzazione, viene terminato prima dell'attesa e riacquisito in un secondo momento.

Wait(Object, TimeSpan)

Rilascia il blocco su un oggetto e interrompe il thread corrente finché riacquisisce il blocco. Allo scadere dell'intervallo di timeout specificato, il thread viene inserito nella coda di thread pronti.

Wait(Object, TimeSpan, Boolean)

Rilascia il blocco su un oggetto e interrompe il thread corrente finché riacquisisce il blocco. Allo scadere dell'intervallo di timeout specificato, il thread viene inserito nella coda di thread pronti. Esce eventualmente dal dominio di sincronizzazione per il contesto di sincronizzazione prima dell'attesa e riacquisisce il dominio in un secondo momento.

Si applica a

Thread safety

Questo tipo è thread-safe.

Vedi anche