Funktionen zum Übergeben von Meldungen

Die Bibliothek für asynchrone Agents bietet mehrere Funktionen, mit denen Sie Nachrichten zwischen Komponenten übergeben können.

Diese Nachrichtenübergabefunktionen werden mit den verschiedenen Nachrichtenblocktypen verwendet. Weitere Informationen zu den Nachrichtenblocktypen, die von der Parallelitätslaufzeit definiert werden, finden Sie unter "Asynchrone Nachrichtenblöcke".

Abschnitte

In diesem Thema werden die folgenden Nachrichtenübergabefunktionen beschrieben:

senden und senden

Die Parallelitätsfunktion::send sendet eine Nachricht synchron an das angegebene Ziel, und die Parallelität::asend-Funktion sendet asynchron eine Nachricht an das angegebene Ziel. Sowohl die Funktionen als asend auch die send Funktionen warten, bis das Ziel angibt, dass sie die Nachricht schließlich annehmen oder ablehnen wird.

Die send Funktion wartet, bis das Ziel die Nachricht akzeptiert oder ablehnt, bevor sie zurückgegeben wird. Die send Funktion gibt zurück true , ob die Nachricht zugestellt wurde und false andernfalls. Da die Funktion synchron funktioniert, wartet die sendsend Funktion, bis das Ziel die Nachricht empfängt, bevor sie zurückgegeben wird.

Umgekehrt wartet die asend Funktion nicht, bis das Ziel die Nachricht akzeptiert oder abgelehnt hat, bevor sie zurückgegeben wird. Stattdessen gibt die asend Funktion zurück true , wenn das Ziel die Nachricht akzeptiert und es schließlich in Anspruch nimmt. Andernfalls wird zurückgegebenfalse, um anzugeben, dass das Ziel entweder die Nachricht abgelehnt oder die Entscheidung darüber verschoben hat, asend ob die Nachricht angenommen werden soll.

[Nach oben]

empfangen und try_receive

Die Parallelität::empfangen und parallelität::try_receive Funktionen lesen Daten aus einer bestimmten Quelle. Die receive Funktion wartet darauf, dass Daten verfügbar sind, während die try_receive Funktion sofort zurückgegeben wird.

Verwenden Sie die receive Funktion, wenn Die Daten fortgesetzt werden müssen. Verwenden Sie die try_receive Funktion, wenn Sie den aktuellen Kontext nicht blockieren dürfen oder die Daten nicht fortsetzen müssen.

[Nach oben]

Beispiele

Beispiele für die Verwendung von send und und asendund receive Funktionen finden Sie in den folgenden Themen:

[Nach oben]

Siehe auch

Asynchrone Agents Library
Asynchrone Nachrichtenblöcke
send-Funktion
asend-Funktion
receive-Funktion
try_receive-Funktion