É recomendável usar o Visual Studio 2017

Funções de transmissão de mensagem

 

Para obter a documentação mais recente do Visual Studio 2017 RC, consulte a documentação do Visual Studio 2017 RC.

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.

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

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]

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]

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

[Superior]

Biblioteca de Agentes Assíncronos
Blocos de mensagens assíncronos
Função send
Função asend
Função receive
Função try_receive

Mostrar: