CLR via C# 读书笔记 3-5 .net framework4.0 新增类 Task(一种很好的异步模型)
2010-11-24 14:16
1416 查看
Task 是在.net framework 4.0中提供的新功能
主要用于异步操作的控制
在很多时候他比Thread和ThreadPool提供更为强大的功能,并且更方便使用
1.demo
以下代码是使用Task的一个demo
代码
6.可以通过Task.Status 很方便的查询到一个Task当前的状态(包括 新建,等待,运行,异常等)
7.可以自定义TaskScheduler,来控制Task的执行, 目前已经有很多成熟的Scheduler提供在网络上(例如 IOTaskScheduler OrderedTaskScheduler 等..)
主要用于异步操作的控制
在很多时候他比Thread和ThreadPool提供更为强大的功能,并且更方便使用
1.demo
以下代码是使用Task的一个demo
代码
Task<Int32> t = new Task<Int32>(n => Sum((Int32)n), 100000000); t.Start(); t.ContinueWith(task => Console.WriteLine("The sum is: " + task.Result), TaskContinuationOptions.OnlyOnRanToCompletion);//only completion t.ContinueWith(task => Console.WriteLine("Sum threw: " + task.Exception), TaskContinuationOptions.OnlyOnFaulted);//only exception t.ContinueWith(task => Console.WriteLine("Sum was canceled"), TaskContinuationOptions.OnlyOnCanceled);//only cencel
6.可以通过Task.Status 很方便的查询到一个Task当前的状态(包括 新建,等待,运行,异常等)
7.可以自定义TaskScheduler,来控制Task的执行, 目前已经有很多成熟的Scheduler提供在网络上(例如 IOTaskScheduler OrderedTaskScheduler 等..)
相关文章推荐
- CLR via C# 3 读书笔记(3):第1章 CLR执行模型 — 1.3 加载CLR
- CLR via C# 读书笔记 3-1 一种单实例应用程序的实现(信号量)
- CLR via C# 3 读书笔记(7):第1章 CLR执行模型 — 1.7 通用类型系统
- CLR via C# 3 读书笔记(8):第1章 CLR执行模型 — 1.8 通用语言规范
- 《CLR via C#》读书笔记 之 计算限制的异步操作
- CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
- CLR via C# 3 读书笔记(4):第1章 CLR执行模型 — 1.4 执行程序集代码
- 《CLR via C#》读书笔记(2) -- .NET程序的运行模型(上)
- CLR Via C# 第一章(CLR的执行模型)——读书笔记
- 《CLR via C#》读书笔记(1)CLR执行模型
- CLR via C# 3 读书笔记(5):第1章 CLR执行模型 — 1.5 本地代码生成器工具:NGen.exe
- 《CLR via C#》第23章 执行异步调用 读书笔记 part1
- CLR via C# 3 读书笔记(1):第1章 CLR执行模型 — 1.1 将源代码编译为托管模块
- 《CLR via C#》读书笔记 之 CLR执行模型
- 《CLR via C#》读书笔记(3) -- .Net程序的运行模型 下
- CLR via C# 3 读书笔记(6):第1章 CLR执行模型 — 1.6 框架类库
- CLR via C# 读书笔记 3-6 比较APM和EAP(异步编程模型和基于事件的编程模式)
- CLR via C# 3 读书笔记(9):第1章 CLR执行模型 — 1.9 与非托管代码互操作
- CLR via C# 序列化读书笔记
- 《CLR via C#》读书笔记-.NET多线程(六)