Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Procedure: Verschillende Producer-Consumer patronen implementeren
Procedure: Werkfuncties leveren aan de aanroep- en transformatorklassen
Handleiding: Een transformer gebruiken in een gegevenspijplijn
[Boven]
Zie ook
Bibliotheek met asynchrone agents
Asynchrone berichtblokken
functie verzenden
asend, functie
Ontvangfunctie
try_receive-functie