Compartilhar via


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

Consulte também

Referência

função de enviar

função de asend

receba a função

função try_receive

Conceitos

Biblioteca de agentes assíncrono

Blocos assíncronas de mensagem