Compartilhar via


Programação assíncrono usando delegados

Representantes permitem que você telefonar um método síncrono de maneira assíncrono.Quando você chama um delegado sincronicamente, os Invoke método chama o método de destino diretamente no thread corrente. Se o BeginInvoke método é chamado, o common linguagem tempo de execução (CLR) coloca a solicitação e retorna imediatamente para o chamador. O método de destino é chamado de modo assíncrono em um thread do pool de threads.O segmento original, enviado a solicitação, está disponível para continuar executando em paralelo com o método de destino.Se um método de retorno de telefonar tiver sido especificado na telefonar para o BeginInvoke método, o método de retorno de telefonar é chamado quando o método de destino é encerrada. No método de retorno de chamada, o EndInvoke método obtém o valor retornado e os parâmetros de entrada/saída ou somente de saída. Se nenhum método de retorno de chamada for especificado ao chamar BeginInvoke, EndInvoke pode ser chamado a partir do thread que chamou BeginInvoke.

Observação importante:

Compiladores emitirá classes delegado com Invoke, BeginInvoke, e EndInvoke métodos usando a assinatura do delegado especificada pelo usuário. The BeginInvoke e EndInvoke métodos devem ser decorados sistema autônomo nativo. sistema autônomo esses métodos são marcados sistema autônomo nativo, o CLR fornece automaticamente a implementação no time de carregamento de classe.O carregador garante que eles não são substituídos.

Nesta seção

Seções relacionadas

Consulte também

Referência

Delegate