.net 中的异步处理温习
来源:互联网 发布:网络用语ppt 编辑:程序博客网 时间:2024/05/17 12:03
这几天,看WF本质论,里面提到了.net的异步处理。由于里面使用的是代码片段,所以有点看不懂。于是下定决心,温习一下.net中的异步处理。
使用C#在.net开发已经有5年了,最初使用.net中的异步处理大约是在4年前。当时,只是为了实现要求的功能,没有详细研究。这也难怪看WF时会头晕(基础不牢的后果呀)。
首先,我们分析一下异步处理的环境
- 需要在当前线程中获取返回值
- 不需要在当前线程中获取返回值,但是仍然需要对返回值做处理
对于第1中情况,还可以继续细分
- 在当前线程中启动线程T,然后继续执行当前线程中的其它任务,最后在当前线程中获取T的返回值
- 在当前线程中启动线程T,然后继续执行当前线程中的其它任务R1,等待T执行完成,当T执行完成后,继续执行当前线程中的其它任务R2,最后获取T的返回值
- 在当前线程中启动线程T,只要T在执行就执行任务R,最后获取T的返回值
下面,我将一一给出例子:
在当前线程中启动线程T,然后继续执行当前线程中的其它任务,最后在当前线程中获取T的返回值
输出结果如下:
Implement other tasks
Func start to run
...
Func end to run
Implement other tasks end ...
Get user's input
56
在当前线程中启动线程T,然后继续执行当前线程中的其它任务R1,等待T执行完成,当T执行完成后,继续执行当前线程中的其它任务R2,最后获取T的返回值
输出结果如下:
Input number please...
25
Implement task 1
Func start to run
...
Func end to run
Implment task 2
Get user's input
25
在当前线程中启动线程T,只要T在执行就执行任务R,最后获取T的返回值
输出结果如下:
Func start to run
...
>>>>>Func end to run
>
Implement other task2
Get user's input
23
不需要在当前线程中获取返回值,但是仍然需要对返回值做处理
输出结果如下:
Input number please...
23
Main thread ends
Func start to run
...
Func end to run
call back starts
Message from Main thread.
The input number is : 23
call back ends
- .net 中的异步处理温习
- Net 异步处理温习
- ASP.NET异步处理
- .Net MVCController 异步处理
- Servlet中的异步处理
- .NET中的异步调用
- NET中的异步操作
- .NET中的异步编程
- ADO.NET温习(一)
- Asp.net MVC 异步处理。
- vb.net 的异步处理
- Servlet 3.0中的异步处理
- RESTEasy中的HTTP异步处理
- Servlet 3.0中的异步处理
- 异步编程中的异常处理
- Asp.Net异步页处理-NET编程
- ASP.NET中的异步编程
- ASP.NET中的异步编程
- JSP 中url中文乱码解决方案
- ant配置文件标准模板(转载)
- 要更明智地工作,而不是更辛苦地工作
- Delphi in a Unicode World Part II
- 什么是系统调用
- .net 中的异步处理温习
- 《C#图解教程》读书笔记第18章——转换
- 解决Picasa网络相册打不开
- Delphi in a Unicode World Part III: Unicodifying Your Code
- 手动排列窗口控件之像素对齐问题
- fd
- IIS中一个配置错误的解决
- erftferf
- 食堂老板的管理“经”