您的位置:首页 > 其它

.net3.5后新增的 BeginInvoke EndInvoke 异步操作

2015-09-24 16:00 381 查看
protected void Main()
{
//首先定义一个方法的封装..后边的LongTimeMethod是被封装的方法..
Func<int> longTimeAction = new Func<int>(LongTimeMethod);
//定义一个异步操作.. asynResult
//用上边的longTimeAction封装 来开启这个异步操作..

IAsyncResult asynResult = longTimeAction.BeginInvoke(null, null);
//在上边的开启异步操作后..程序会另外启动一个线程来执行前边的封装方法..这个方法是委托给这个新线程的
//得到了异步请求的结果..返回给 ret
int ret = longTimeAction.EndInvoke(asynResult);
}

int LongTimeMethod()
{
return 1;
}


protected void Main ()
{
//首先定义一个方法的封装..后边的LongTimeMethod是被封装的方法..
Func<int> longTimeAction = new Func<int>(LongTimeMethod);
//定义一个异步操作.. asynResult
//用上边的longTimeAction封装 来开启这个异步操作..

int ss=0;
IAsyncResult asynResult = longTimeAction.BeginInvoke((result) => { ss = longTimeAction.EndInvoke(result); }, null);
//在上边的开启异步操作后..程序会另外启动一个线程来执行前边的封装方法..这个方法是委托给这个新线程的
//得到了异步请求的结果..返回给 ss
}

int LongTimeMethod()
{
return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: