当前位置:首页 > 每日看点

C#为何一定要用asyn和await来异步执行,不可以直接Task.Run?

卡卷网2年前 (2025-01-02)每日看点275

先说结论

其实不是"一定要用async/await",而是它们各自有不同的使用场景。就像你不会用榔头去切菜,也不会用菜刀去钉钉子一样。

举个例子,你在必胜客点了一份披萨:

<>用async/await的情况:

//服务员接单后直接去忙别的了,披萨好了会通知你 awaitOrderPizzaAsync();

<>用Task.Run的情况:

//专门叫一个服务员站在厨房门口等披萨 Task.Run(()=>OrderPizza());

看出区别了吗?async/await就像是给披萨贴上了你的取餐号,你可以先去玩干别的;而Task.Run则是专门安排了一个人盯着你的披萨,VVVVVVIP级别的待遇,但这个服务员明显是浪费在这里了,纯纯摸鱼,那怎么能行!

来点专业的各自特点

<>async/await的特点

      不会占用额外的线程适合I/O作(数据库查询、文件读写、网络请求等)能最大化利用资源

<>Task.Run的特点

      会从线程池分配新线程适合CPU密集型作(大量计算、图像处理等)可能造成不必要的线程切换开销

就像在这样的使用场景下:

//推荐:处理WeAPI请求 pulicasyncTask<string>GetDataAsync() { retnawait.GetStringAsync("api/data"); } //推荐:处理大量计算 pulicTaskProcessigData() { retnTask.Run(()=>HeyCalculation()); }

<>但是也别这么整:

//反模式!不要这样做 pulicasyncTaskDoSomethingAsync() { awaitTask.Run(()=>File.ReadAllText("file.txt"));//错啦错啦 }

这就像点个外,非要雇个专车司机24小时待命一样,多此一举!

你就记住这句话:<>I/O作用async/await,CPU密集型作用Task.Run。能解决80%场景下的问题

如果觉得文章有帮助,记得点赞关注,我是旷野,探索无尽技术!

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/6160.html

分享给朋友:

相关文章

b站真的能自学PS吗?

b站真的能自学PS吗?

看你想达到哪一种程度了,如果你只是平常用PS扣图、调整照片大小、尺寸、简单调个色这样,自学真的挺简单的,B站很多免费的教程都可以教会你这些技巧。 但是如果说你想成为专业的设计师或者是商业修图师,无师自通真的非常难,首先你会走很多弯路,不知道…

数字人民币为什么又不火了?

我完全不懂行。 我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。 我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。 我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百…

都是前端框架,为什么用 React 的人会有优越感?

都是前端框架,为什么用 React 的人会有优越感?

上家公司一直搞react,最近第一次写个vue3项目。 老板朋友来了看了下页面说:这用vue写的吧。 我:是... 老板朋友:一看就知道是vue做的。 这tm你看一眼页面就知道用的啥框架? 这感觉就是,我一直用苹果,偶尔用了下华为打电话,有…

有哪些让你目瞪口呆的 Bug ?

有哪些让你目瞪口呆的 Bug ?

成都有个监狱情况比较特殊,关押的基本全是重犯,而且还都是经济犯和政治犯, 他们以前都是一方大佬,在自己的一亩三分地翻手为云覆手为雨,无非是不小心中箭落马或帮老大顶锅才进监狱, 所以即使进来了,他们依然保持着体面和骄傲,依从性差,虽然不至于和…

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

想入个键盘,想买机械的但是太贵,求知友推荐一款手感比较好的薄膜键盘?

相信很多接触过286的90后朋友都和我有一样的体会,以前的机械键盘真的是让人头皮发麻,不仅敲击要非常用力,而且很吵。所以后面随着大家的生活消费水平的上升,家家户户都有电脑了,自然也不想再用打字来宣扬自己有电脑的优越感,基本上大家都换成了又轻…

网易云音乐中你见过最搞笑的评论是什么?

网易云音乐中你见过最搞笑的评论是什么?

1. 上个月把家里wifi名字改成了“隔壁老王”,不久就发现附近有一个wifi叫“老王你好”,我果断又把wifi名字改成“你一个人吗”……就这样改着wifi名字我们硬是聊了一个月,今晚对方wifi改成了“老公已出差”。 ——出自网易云音乐《…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。