Delegados asincrónicos

Los delegados asincrónicos proporcionan la capacidad de llamar a un método sincrónico de forma asincrónica. Cuando se llama a un delegado sincrónicamente, el método Invoke llama al método de destino directamente en el subproceso actual. Si el compilador admite delegados asincrónicos, generará el método Invoke, así como los métodos BeginInvoke y EndInvoke. Si se llama al método BeginInvoke, Common Language Runtime colocará en cola la solicitud y devolverá el control inmediatamente a quien llamó. Se llamará al método de destino desde un subproceso del sondeo de subprocesos. El subproceso original, que envío la solicitud, puede continuar ejecutándose en paralelo con el método de destino, que se ejecuta en un subproceso del sondeo de subprocesos. Si se ha especificado una devolución de llamada en BeginInvoke, se le llamará cuando el método de destino devuelva el control. En la devolución de llamada, se utiliza el método EndInvoke para obtener el valor devuelto, así como los parámetros de entrada y salida. Si no se especificó la devolución de llamada en BeginInvoke, se puede utilizar EndInvoke en el subproceso original que envió la solicitud.

Nota   El compilador de Microsoft C# actualmente admite un delegado asincrónico.

En esta sección

Secciones relacionadas