线程、委托的异步调用
2008-12-15 09:26
218 查看
《C# programming》 p323
BeginInvoke() 会立即返回,它将创建一个另一个线程来完成自己的工作。当我需要它执行后的结果时:
例如:
pubilc delegate in TestDetegate();
pubilc TestDetegate theDetegate;
..............................................
theDetegate += ××××××××××
..............................................
//异步调用、并执行操作内容
//AsyncCallback委托提供了一个回调机制
//ResultsReturned为获取结果的回调方法
theDetegate.BeginInvoke(new AsyncCallback(ResultsReturned),theDetegate);
//获取结果的回调方法
pubilc void ResultsReturned(IAsyncResult iar)
{
//将状态对象转换回委托类型
TestDetegate del = (TestDetegate)iar.AsyncState;
//调用委托的EndInvoke方法获取结果
int result = del.EndInvoke(iar);
.................
}
BeginInvoke() 会立即返回,它将创建一个另一个线程来完成自己的工作。当我需要它执行后的结果时:
例如:
pubilc delegate in TestDetegate();
pubilc TestDetegate theDetegate;
..............................................
theDetegate += ××××××××××
..............................................
//异步调用、并执行操作内容
//AsyncCallback委托提供了一个回调机制
//ResultsReturned为获取结果的回调方法
theDetegate.BeginInvoke(new AsyncCallback(ResultsReturned),theDetegate);
//获取结果的回调方法
pubilc void ResultsReturned(IAsyncResult iar)
{
//将状态对象转换回委托类型
TestDetegate del = (TestDetegate)iar.AsyncState;
//调用委托的EndInvoke方法获取结果
int result = del.EndInvoke(iar);
.................
}
相关文章推荐
- (二)线程--通过委托异步调用方法
- 谈.Net委托与线程——创建无阻塞的异步调用
- 谈.Net委托与线程——创建无阻塞的异步调用
- (二)线程--通过委托异步调用方法
- 谈.Net委托与线程——创建无阻塞的异步调用
- (二)线程--通过委托异步调用方法
- C#构建多线程应用程序(1) —— 使用委托来自动创建次线程以实现异步方法的调用
- 界面-工作者线程结构之:异步委托调用
- 【转】谈.Net委托与线程——创建无阻塞的异步调用
- C# 委托的同步调用和异步调用
- 关于C#多线程之一——异步委托
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- 第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题 第四节:一些指令总结 定时调度系列之Quartz.Net详解 第十七节:易混淆的概念(静态和非静态、拆箱和装箱) 那些年我们一起追逐的多线程(Thread、ThreadPool、委托异步调用、Task/TaskFactory、Parallerl、async和await)
- [转]通用异步线程调用模式--通知线程
- 委托-异步调用-泛型委托-匿名方法-Lambda表达式-事件
- 异步委托跨线程访问控件解决界面卡死
- 关于异步委托调用
- [备忘]解决ManualResetEvent.WaitOne在Silverlight环境下将整个UI线程卡死,并无法继续调用异步子线程的问题
- 委托(delegate)的三种调用方式:同步调用,异步调用,异步回调(转载)
- ASP.NET 委托 事件 异步调用