在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Task 是在.net framework 4.0中提供的新功能 主要用于异步操作的控制 在很多时候他比Thread和ThreadPool提供更为强大的功能,并且更方便使用
1.demo 以下代码是使用Task的一个demo
代码
Sum是一个声明好的外部函数, 当然我们也可以使用lambda来替代它 这几句代码声明了一个Task 并且调用Start方法启动他,然后使用Wait方法等待这个异步任务的完成
2.Task的优势 1.Task可以很方便的控制是使用线程池还是使用线程来执行(也许以后还会增加更多的执行模型) 2.Task<T> 允许输入输出强类型的参数 3.使用Task可以很方便的控制 例如:等待,取消 Task (个人觉得这个是最大的优势) 4.可以很方便的处理到Task中发生的未处理的异常 5.Task.ContinueWith方法可以很方便的安排Task之间的执行顺序(例如通过参数TaskCountinuationOptions参数来控制 在某任务A执行完成,取消或者其他特定情况下,任务B立刻启动接着执行,以下代码显示了等待不同情况的执行顺序)
代码
6.可以通过Task.Status 很方便的查询到一个Task当前的状态(包括 新建,等待,运行,异常等) 7.可以自定义TaskScheduler,来控制Task的执行, 目前已经有很多成熟的Scheduler提供在网络上(例如 IOTaskScheduler OrderedTaskScheduler 等..)
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论