您的位置:首页 > 编程语言 > C#

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

代码

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 等..)

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐