异步编程
异步编程
能提高web服务器同时处理请求的数量。并不能提高单个请求处理的速度。
Async Await
wait调用的等待期间,.NET会把当前的线程返回给线程池,等异步方法调用执行完毕后,框架会从线程池再取出来一个线程执行后续的代码
所以 await前后对应的线程可能不是同一个线程。
线程暂停处理
如果想在异步方法中暂停一段时间,不要用Thread.Sleep(),因为它会阻塞调用线程,而要用await Task.Delay()
CancellationToken
有时需要提前终止任务,比如:请求超时、用户取消请求。
很多异步方法都有CancellationToken参数,用于获得提前终止执行的信号。
手动响应取消的实现方式
取消直接抛异常
调用

调用api取消方法方式
本文来自博客园,作者:Raymon*码记,转载请注明原文链接:https://www.cnblogs.com/RaymonGoGo/p/16862524.html