.net core 学习笔记5:异步编程原理2

文章讨论了异步方法与多线程的区别,指出async方法并不等同于多线程执行。async方法虽可能降低运行效率,但能提高并发量,而同步方法效率高但可能造成线程浪费。使用awaitTask.Delay避免阻塞,适合高并发场景。是否标注async取决于是否需要处理结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)异步方法不等于多线程

异步放入新线程执行

Task.run(  () =>{})

(2)为什么有的方法不标async

async的缺点:

1.异步方法会生成一个类;运行效率没有普通方法高;

2.可能会占用非常多的线程;

async await 是Task的再一次封装,体会异步方法的同步使用

同步方法:运行效率会更高,不会造成线程浪费

异步方法:可以提高并发量,同时接更多的任务处理,但是服务器的处理速度是有限制的

标async只是让我们更好用await

只是简单调用的话,不对结果进行处理,可以不用async

返回task: 

        static Task<string> TaskReturn()
        {
            return Task.FromResult("0");
        }

(3)异步方法的暂停

异步方法中暂停,不要用Thread.Sleep().会阻塞调用线程=》界面卡死

用await Task。Delay().异步休息

在高并发的情况下,多次sleep()会造成程序卡死

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值