Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Biblioteket asynkrona agenter innehåller flera funktioner som gör att du kan skicka meddelanden mellan komponenter.
Dessa funktioner för meddelandeöverföring används med de olika typerna av meddelandeblock. Mer information om de typer av meddelandeblock som definieras av Concurrency Runtime finns i Asynkrona meddelandeblock.
Sektioner
I det här avsnittet beskrivs följande funktioner för meddelandeöverföring:
send och asend
Funktionen concurrency::send skickar ett meddelande till det angivna målet synkront och funktionen concurrency::asend skickar ett meddelande till det angivna målet asynkront. Både send- och asend-funktionerna väntar tills målet anger att det så småningom kommer att acceptera eller avvisa meddelandet.
Funktionen send väntar tills målet accepterar eller avböjer meddelandet innan det returneras. Funktionen send returnerar true om meddelandet levererades och false annars. Eftersom funktionen send fungerar synkront send väntar funktionen på att målet ska ta emot meddelandet innan det returneras.
Omvänt väntar inte funktionen asend på att målet ska acceptera eller avvisa meddelandet innan den återgår. I stället returnerar funktionen asendtrue om målet accepterar meddelandet och kommer så småningom att ta det. Annars asend returneras false för att indikera att målet antingen avböjde meddelandet eller sköt upp beslutet om att ta meddelandet.
[Topp]
ta emot och försöka ta emot
              concurrency::receive och concurrency::try_receive funktionerna läser data från en viss källa. Funktionen receive väntar på att data ska bli tillgängliga, medan try_receive funktionen returnerar omedelbart.
              receive Använd funktionen när du måste ha data för att kunna fortsätta. 
              try_receive Använd funktionen om du inte får blockera den aktuella kontexten eller om du inte behöver ha data för att fortsätta.
[Topp]
Exempel
Exempel som använder funktionerna send, asend och receive finns i följande avsnitt:
- Anvisningar: Tillhandahålla arbetsfunktioner till anrops- och transformeringsklasserna 
- Anvisningar: Skicka ett meddelande med ett regelbundet intervall 
[Topp]
Se även
              Asynkront agentbibliotek
              Asynkrona meddelandeblock
              send-funktion
              asendFunction
              ta emot funktion
              try_receive-funktion