多线程

时间:2020-07-06 12:32:17   收藏:0   阅读:56

ThreadPool与Task

ThreadPool很难控制线程执行顺序,无法知道线程执行完成,Task弥补这些缺点。

使用CancelTokenSource通知子线程。

async task await C#异步编程模型

一个方法被标记为async,编译器会将方法的代码转换成实现了状态机的一个类型,允许线程执行状态机中的一些代码并返回,方法不需要一直执行到结束。

异步方法返回的是Task对象。

await一个方法,实际是调用方法的GetAwaiter,查询其IsCompleted,如果操作完成,返回true。

 

不要使用Thread.Sleep,它会阻塞一个线程,阻塞一个线程,会造成更多的线程被创建。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!