首页 新闻 会员 周边

c# await问题

0
悬赏园豆:15 [已解决问题] 解决于 2019-10-08 18:05

想请问一下 为什么我在main里面 加上async await 程序就变成同步的了 如果去掉main的await 就会是异步。

narojay的主页 narojay | 初学一级 | 园豆:3
提问于:2019-10-08 16:20
< >
分享
最佳答案
1

await意思就是等待,等待Method1执行完才执行Method2

收获园豆:15
会长 | 专家六级 |园豆:12459 | 2019-10-08 17:24

明白了,理解反了

narojay | 园豆:3 (初学一级) | 2019-10-08 18:04
其他回答(2)
1

都await了 跟 直接 单线程 有多大区别——不就是同步了,只不过一个是在函数界别上,一个是在线程级别上串行执行而已。

花飘水流兮 | 园豆:13582 (专家六级) | 2019-10-08 16:24

await 不是可以让 方法异步执行吗

支持(0) 反对(0) narojay | 园豆:3 (初学一级) | 2019-10-08 16:29

都await了 跟 直接 单线程 有多大区别 这个说的是什么意思,没理解

支持(0) 反对(0) narojay | 园豆:3 (初学一级) | 2019-10-08 16:31

@narojay: 来你自己去试试:

func()

{

  Sub0();

  new Thread(()=>{Sub1()}).Start();

  Sub2();

}

假设现在微软没提供await的关键字,把上面0,1,2变成同步试试。

支持(0) 反对(0) 花飘水流兮 | 园豆:13582 (专家六级) | 2019-10-08 16:40
1

参考 MSDN 异步 “做早餐” 示例:

使用 Async 和 Await 的异步编程

CodingNinja | 园豆:157 (初学一级) | 2019-10-08 21:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册