Freigeben über


Monitor Klasse

Definition

Stellt einen Mechanismus bereit, der den Zugriff auf Objekte synchronisiert.

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
Vererbung
Monitor
Attribute

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für Monitor.

Eigenschaften

LockContentionCount

Ruft die Anzahl der Konflikte ab beim Versuch, die Sperre des Monitors aufzuheben.

Methoden

Enter(Object)

Erhält eine exklusive Sperre für das angegebene Objekt.

Enter(Object, Boolean)

Erhält eine exklusive Sperre für das angegebene Objekt und legt atomar einen Wert fest, der angibt, ob die Sperre angenommen wurde.

Exit(Object)

Hebt eine exklusive Sperre für das angegebene Objekt auf.

IsEntered(Object)

Bestimmt, ob der aktuelle Thread die Sperre für das angegebene Objekt enthält.

Pulse(Object)

Benachrichtigt einen Thread in der Warteschlange für abzuarbeitende Threads über eine Änderung am Zustand des gesperrten Objekts.

PulseAll(Object)

Benachrichtigt alle wartenden Threads über eine Änderung am Zustand des Objekts.

TryEnter(Object)

Versucht, eine exklusive Sperre für das angegebene Objekt zu erhalten.

TryEnter(Object, Boolean)

Versucht, eine exklusive Sperre für das angegebene Objekt zu erhalten, und legt atomar einen Wert fest, der angibt, ob die Sperre angenommen wurde.

TryEnter(Object, Int32)

Versucht über eine angegebene Anzahl von Millisekunden hinweg, eine exklusive Sperre für das angegebene Objekt zu erhalten.

TryEnter(Object, Int32, Boolean)

Versucht für die angegebene Anzahl von Millisekunden, eine exklusive Sperre für das angegebene Objekt zu erhalten, und legt atomar einen Wert fest, der angibt, ob die Sperre angenommen wurde.

TryEnter(Object, TimeSpan)

Versucht über einen angegebenen Zeitraum hinweg, eine exklusive Sperre für das angegebene Objekt zu erhalten.

TryEnter(Object, TimeSpan, Boolean)

Versucht für die angegebene Dauer, eine exklusive Sperre für das angegebene Objekt zu erhalten, und legt atomar einen Wert fest, der angibt, ob die Sperre angenommen wurde.

Wait(Object)

Hebt die Sperre für ein Objekt auf und blockiert den aktuellen Thread, bis er die Sperre erneut erhält.

Wait(Object, Int32)

Hebt die Sperre für ein Objekt auf und blockiert den aktuellen Thread, bis er die Sperre erneut erhält. Wenn das angegebene Timeoutintervall abläuft, tritt der Thread in die Warteschlange für abgearbeitete Threads ein.

Wait(Object, Int32, Boolean)

Hebt die Sperre für ein Objekt auf und blockiert den aktuellen Thread, bis er die Sperre erneut erhält. Wenn das angegebene Timeoutintervall abläuft, tritt der Thread in die Warteschlange für abgearbeitete Threads ein. Diese Methode gibt außerdem an, ob die Synchronisierungsdomäne danach für den Kontext (wenn es sich um einen synchronisierten Kontext handelt) vor dem Warten und erneuten Erhalten verlassen wird.

Wait(Object, TimeSpan)

Hebt die Sperre für ein Objekt auf und blockiert den aktuellen Thread, bis er die Sperre erneut erhält. Wenn das angegebene Timeoutintervall abläuft, tritt der Thread in die Warteschlange für abgearbeitete Threads ein.

Wait(Object, TimeSpan, Boolean)

Hebt die Sperre für ein Objekt auf und blockiert den aktuellen Thread, bis er die Sperre erneut erhält. Wenn das angegebene Timeoutintervall abläuft, tritt der Thread in die Warteschlange für abgearbeitete Threads ein. Beendet vor dem Warten optional auch die Synchronisierungsdomäne für den synchronisierten Kontext und erhält die Domäne anschließend wieder.

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher.

Weitere Informationen