Mensagem que passa funções
A biblioteca de agentes assíncrona fornece várias funções que permitem passar mensagens entre componentes.
Essas funções de transmissão de mensagens são usadas com vários tipos de bloco de mensagens.Para obter mais informações sobre os tipos de bloco de mensagens que são definidos pelo Runtime de simultaneidade, consulte Blocos assíncronas de mensagem.
Seções
Este tópico descreve as funções de transmissão de mensagens a seguir:
enviar e asend
receber e try-Receive
Exemplos
enviar e asend
O concurrency::send função envia uma mensagem para o destino especificado síncrona e o concurrency::asend função envia uma mensagem para o destino especificado assincronamente.Tanto o send e asend funções aguardar até que o destino indica que ele eventualmente aceitar ou recusar a mensagem.
O send função aguarda até que o destino aceita ou recusa a mensagem antes de retornar.O send função retorna true se a mensagem foi entregue e false contrário.Porque o send função funciona de forma síncrona, o send função aguarda o destino receber a mensagem antes de retornar.
Por outro lado, o asend função não espera o destino para aceitar ou recusar a mensagem antes de retornar.Em vez disso, o asend função retorna true se o destino aceita a mensagem e eventualmente levá-lo.Caso contrário, asend retorna false para indicar que o destino recusou a mensagem ou adiada a decisão sobre se deve levar a mensagem.
Top
receber e try-Receive
O concurrency::receive e concurrency::try_receive funções ler dados de uma determinada fonte.O receive função aguarda dados se tornam disponíveis, enquanto o try_receive função retorna imediatamente.
Use o receive funcionar quando você deve ter os dados para continuar.Use o try_receive funcionar se você não deve bloquear o contexto atual ou você não tem dados para continuar.
Top
Exemplos
Para exemplos que usam o send e asend, e receive funções, consulte os seguintes tópicos:
Top