Delen via


Functies voor het doorgeven van berichten

De bibliotheek met asynchrone agents biedt verschillende functies waarmee u berichten tussen onderdelen kunt doorgeven.

Deze functies voor het doorgeven van berichten worden gebruikt met de verschillende typen berichtenblokken. Zie Asynchrone berichtblokken voor meer informatie over de berichtbloktypen die zijn gedefinieerd door de Gelijktijdigheidsruntime.

Afdelingen

In dit onderwerp worden de volgende functies voor het doorgeven van berichten beschreven:

verzenden en asend

De gelijktijdigheidsfunctie::verzenden verzendt een bericht synchroon naar het opgegeven doel en de gelijktijdigheidsfunctie::asend verzendt een bericht asynchroon naar het opgegeven doel. Zowel de send als de asend functies wachten totdat het doel aangeeft of het bericht uiteindelijk geaccepteerd of geweigerd zal worden.

De send functie wacht totdat het doel het bericht accepteert of weigert voordat het wordt geretourneerd. De send functie retourneert true als het bericht is bezorgd en false anders. Omdat de send functie synchroon werkt, wacht de send functie totdat het doel het bericht ontvangt voordat het wordt geretourneerd.

Omgekeerd wacht de asend functie niet totdat het doel het bericht accepteert of weigert voordat het wordt geretourneerd. In plaats daarvan retourneert de asend functie true als het doel het bericht accepteert en het uiteindelijk zal aannemen. Anders wordt asend geretourneerd false om aan te geven dat de ontvanger het bericht heeft afgewezen of de beslissing heeft uitgesteld over of het bericht moet worden aangenomen.

[Boven]

ontvangen en probeer_ontvangen

De concurrency::receive en concurrency::try_receive functies lezen gegevens uit een bepaalde bron. De receive functie wacht tot er gegevens beschikbaar zijn, terwijl de try_receive functie onmiddellijk wordt geretourneerd.

Gebruik de receive functie wanneer u de gegevens moet laten doorgaan. Gebruik de try_receive functie als u de huidige context niet mag blokkeren of als u niet over de gegevens hoeft te beschikken om door te gaan.

[Boven]

Voorbeelden

Zie de volgende onderwerpen voor voorbeelden die gebruikmaken van de functies send, asend en receive:

[Boven]

Zie ook

Bibliotheek met asynchrone agents
Asynchrone berichtblokken
functie verzenden
asend, functie
Ontvangfunctie
try_receive-functie