异步编程

异步编程

能提高web服务器同时处理请求的数量。并不能提高单个请求处理的速度。

Async Await

wait调用的等待期间,.NET会把当前的线程返回给线程池,等异步方法调用执行完毕后,框架会从线程池再取出来一个线程执行后续的代码
所以 await前后对应的线程可能不是同一个线程。


线程暂停处理

如果想在异步方法中暂停一段时间,不要用Thread.Sleep(),因为它会阻塞调用线程,而要用await Task.Delay()


CancellationToken

有时需要提前终止任务,比如:请求超时、用户取消请求。
很多异步方法都有CancellationToken参数,用于获得提前终止执行的信号。


手动响应取消的实现方式

取消直接抛异常

调用

调用api取消方法方式

posted @   Raymon撸码记  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示