首页 新闻 会员 周边 捐助

c#异步函数 async 和await 循环执行的时候少回调

0
悬赏园豆:20 [待解决问题]

为什么异步函数 执行少了(1000-9729)次

且为什么有重复的次数,书上说异步函数不会有并发的问题的,via clr c#

张三你好的主页 张三你好 | 初学一级 | 园豆:25
提问于:2018-12-19 19:04
< >
分享
所有回答(3)
0

不知道你看的哪个高人的书

通信的搞程序 | 园豆:1757 (小虾三级) | 2018-12-19 20:53
0

作者说的是异步函数,你那个是异步函数吗?你那个叫并发,是多线程,多线程操作数组当然不安全了,,,,

博学多思 | 园豆:76 (初学一级) | 2018-12-19 22:16
0

我猜测这里要说的是这样:

async Fun()
{
await Fun01();
await Fun02();
}

以下两个函数都 rw 了 var a;
async Fun01()
async Fun02()

以上可能由1+2个独立线程完成,但01,02实际是特么的串行运算的。

如果变成:
async Fun()
{
Fun01();
Fun02();
}
结局就不一样了,而书上估计是讲第一种。

花飘水流兮 | 园豆:13615 (专家六级) | 2018-12-21 01:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册