Compartilhar via


Funções de transmissão de mensagem

A biblioteca assíncrona de agentes fornece várias funções que permitem passar mensagens entre os componentes.

Essas funções mensagem- passando são usadas com vários tipos retornadas bloco. Para obter mais informações sobre os tipos retornadas bloco que são definidos no tempo de execução de simultaneidade, consulte Blocos de mensagens assíncronos.

Seções

Este tópico descreve as seguintes funções mensagem- passando:

  • envio e asend

  • recebe e try_receive

  • Exemplos

envio e asend

A função de concurrency::send envia uma mensagem ao destino especificado de forma síncrona e os envios da função de concurrency::asend uma mensagem ao destino especificado de maneira assíncrona. As funções de send e de asend esperar até que o destino que indica se houver aceitará ou diminuirá a mensagem.

A função de send espera até que o destino aceita ou diminui a mensagem antes de retornar. A função de send retorna true se a mensagem foi entregue e false de outra forma. Como a função de send funciona de forma síncrona, a função de send espera o destino para receber a mensagem antes de retornar.

Por outro lado, a função de asend não aguarda o destino para aceitar ou diminuir a mensagem antes de retornar. Em vez disso, a função de asend retorna true se o destino aceita a mensagem e a levará se houver. Caso contrário, asend retorna false para indicar que o destino diminuiu a mensagem ou adiou a decisão sobre se assumirá a mensagem.

[Superior]

recebe e try_receive

concurrency::receive e concurrency::try_receive funções lendo dados de uma origem especificada. A função de receive espera dados fique disponível, enquanto a função de try_receive retorna imediatamente.

Use a função de receive quando você deve ter dados para continuar. Use a função de try_receive se você não deve impedir o contexto atual ou você não tem que ter dados para continuar.

[Superior]

Exemplos

Para obter exemplos que usam send e asend, e as funções de receive , consulte os seguintes tópicos:

[Superior]

Consulte também

Referência

Função send

Função asend

Função receive

Função try_receive

Conceitos

Biblioteca de Agentes Assíncronos

Blocos de mensagens assíncronos