异步委托通过编译器提供的BeginInvoke方法与EndInvoke方法对delegate进行异步的调用.
被调用方法将在系统线程池中运行,并且被调用方没有必要为异步执行行为提供附加的代码支持.
当异步执行结束时,通过调用回调函数发出通知.
如果委托在异步执行中抛出了异常,那么在调用EndInvoke时才会被捕获到
MSDN页面:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpovrasynchronousprogrammingoverview.htm
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconasynchronousdesignpatternoverview.htm
以下为示例:
using System;
using System.Threading;
using System.Runtime.Remoting.Messaging;
namespace AsyncDele
{
// 定义被调用方法的delegate
public delegate bool Workdele( int source, out int ithreadid );
// 被调用方,封装被调用方法
class Worker
{