Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Delegaten bieten die Möglichkeit, synchrone Methoden in asynchroner Weise aufzurufen. Wenn Sie einen Delegaten synchron aufrufen, ruft die Invoke
Methode die Zielmethode direkt im aktuellen Thread auf. Wenn die BeginInvoke
Methode aufgerufen wird, wird die Anforderung von der Common Language Runtime (CLR) in die Warteschlange gestellt und sofort an den Aufrufer zurückgegeben. Die Zielmethode wird asynchron für einen Thread aus dem Threadpool aufgerufen. Der ursprüngliche Thread, der die Anforderung übermittelt hat, kann parallel zur Zielmethode weiterhin ausgeführt werden. Wenn im Aufruf der BeginInvoke
Methode eine Rückrufmethode angegeben wurde, wird die Rückrufmethode aufgerufen, wenn die Zielmethode endet. In der Rückruffunktion ermittelt die EndInvoke
Methode den Rückgabewert und alle Eingabe-/Ausgabe- oder nur Ausgabeparameter. Wenn beim Aufrufen BeginInvoke
keine Rückrufmethode angegeben wird, EndInvoke
kann aus dem aufgerufenen BeginInvoke
Thread aufgerufen werden.
Von Bedeutung
Compiler sollten Delegatklassen mit Invoke
, BeginInvoke
und EndInvoke
Methoden unter Verwendung der vom Benutzer angegebenen Signatur des Delegaten ausgeben. Die Methoden BeginInvoke
und EndInvoke
sollten als systemeigen dekoriert werden. Da diese Methoden als nativ gekennzeichnet sind, stellt die CLR die Implementierung automatisch zum Ladezeitpunkt der Klasse bereit. Das Ladeprogramm stellt sicher, dass die Methoden nicht überschrieben werden.
In diesem Abschnitt
Asynchrones Aufrufen von synchronen Methoden
Erläutert die Verwendung von Delegaten, um asynchrone Aufrufe an gewöhnliche Methoden zu tätigen, und enthält einfache Codebeispiele, die die vier Möglichkeiten zeigen, wie man auf die Rückkehr eines asynchronen Aufrufs wartet.
Verwandte Abschnitte
Ereignisbasiertes asynchrones Muster (EAP)
Beschreibt die asynchrone Programmierung in .NET.