Funkcji przekazywania wiadomości
Asynchroniczne biblioteki agentów zawiera kilka funkcji, które umożliwiają przekazywanie wiadomości między składnikami.
Funkcje służące do przekazywania wiadomości te są używane z różnymi typami bloku komunikatów.Aby uzyskać więcej informacji na temat typów bloku komunikatów, które są zdefiniowane w czasie wykonywania współbieżności zobacz Asynchroniczne blokuje wiadomości.
Sekcje
W tym temacie opisano następujące funkcje służące do przekazywania wiadomości:
Wyślij i asend
otrzymywać i try_receive
Przykłady
Wyślij i asend
Concurrency::send funkcji wysyła wiadomość do określonego miejsca docelowego synchronicznie i w concurrency::asend funkcji wysyła wiadomość do określonego miejsca docelowego asynchronicznie.Obie send i asend funkcje poczekać na docelowym wskazuje, że to będzie ostatecznie zaakceptować lub odrzucić wiadomość.
send Funkcja oczekuje, aż obiekt docelowy zaakceptuje lub odrzuci wiadomość, zanim zwróci.send Działać zwraca true , jeśli wiadomość została dostarczona i false inaczej.Ponieważ send funkcja działa synchronicznie, send funkcja oczekuje na docelowym otrzymać wiadomość, zanim zwróci.
Odwrotnie asend funkcja nie czeka na docelowym zaakceptować lub odrzucić wiadomość, zanim zwróci.Zamiast tego asend działać zwraca true , jeśli obiekt docelowy akceptuje wiadomości i ostatecznie będzie podjąć.W przeciwnym razie asend zwraca false aby wskazać, że obiekt docelowy odrzucił komunikat lub decyzji o tym, czy wiadomości zostały przełożone.
Top
otrzymywać i try_receive
Concurrency::receive i concurrency::try_receive funkcji odczytu danych z danego źródła.receive Funkcja oczekuje na dane staną się dostępne, należy try_receive funkcja zwraca się niezwłocznie.
Użyj receive gdy musi mieć dane, aby kontynuować.Użyj try_receive działać, jeśli nie należy blokować bieżącego kontekstu lub nie masz dane, aby kontynuować.
Top
Przykłady
Przykłady, które używają send i asend, i receive funkcji, zobacz następujące tematy:
Top