Freigeben über


Monitor.PulseAll-Methode

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

Namespace: System.Threading
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Sub PulseAll ( _
    obj As Object _
)
'Usage
Dim obj As Object

Monitor.PulseAll(obj)
public static void PulseAll (
    Object obj
)
public:
static void PulseAll (
    Object^ obj
)
public static void PulseAll (
    Object obj
)
public static function PulseAll (
    obj : Object
)

Parameter

  • obj
    Das Objekt, das den Impuls sendet.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der obj-Parameter ist NULL (Nothing in Visual Basic).

SynchronizationLockException

Der aufrufende Thread besitzt keine Sperre für das angegebene Objekt.

Hinweise

Der Thread, der gegenwärtig die Sperre für das angegebene Objekt besitzt, ruft diese Methode auf, um Signale an alle Threads zu senden, die auf die Sperre für das Objekt warten. Nach dem Senden des Signals werden die wartenden Threads in die Warteschlange für abgearbeitete Threads verschoben. Wenn der Thread, der PulseAll aufgerufen hat, die Sperre freigibt, erhält der nächste Thread in der Warteschlange für abgearbeitete Threads die Sperre.

Beachten Sie, dass ein synchronisiertes Objekt mehrere Verweise enthält, darunter ein Verweis auf den Thread, der gegenwärtig die Sperre besitzt, ein Verweis auf die Warteschlange mit den abgearbeiteten Threads, die die Sperre erhalten können, und ein Verweis auf die Warteschlange mit den abzuarbeitenden Threads, die auf die Benachrichtigung über eine Änderung des Objektzustands warten.

Die Pulse-Methode, die PulseAll-Methode und die Wait-Methode müssen aus einem synchronisierten Codeblock heraus aufgerufen werden.

In den Hinweisen zur Pulse-Methode wird erläutert, welche Auswirkungen das Aufrufen von Pulse hat, wenn keine Threads warten.

Verwenden Sie die Pulse-Methode, um ein Signal an einen einzelnen Thread zu senden.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Monitor-Klasse
Monitor-Member
System.Threading-Namespace
Thread

Weitere Ressourcen

Verwaltetes Threading
Monitore