补全:并发求和

(每道题开头都有同一段:square(x) 是个协程,里面 await asyncio.sleep(0) 让出控制再返回 x*x;run_list(xs) 用 asyncio.gather 并发算每个的平方、按提交顺序回列表;run_sum

开始练习 →

事件循环是什么

异步里的「事件循环」,干的是【0】。

开始练习 →

一个循环里有几个在真正执行

单线程事件循环,同一瞬间真正在执行的协程有【0】。

开始练习 →

谁来决定切到哪个任务

事件循环里,从一个协程切到另一个,是【0】。

开始练习 →

谁先跑完

(每道题开头都有同一段:run_loop(tasks),tasks 是 [(名字, 要跑几步)];事件循环每一轮给还没完的每个任务推进一步,跑完就记完成。交回完成顺序(步数少的先完、相同按加入序);ready_count 一轮能推进几个。)

开始练习 →

一轮能推进几个

(每道题开头都有同一段:run_loop(tasks),tasks 是 [(名字, 要跑几步)];事件循环每一轮给还没完的每个任务推进一步,跑完就记完成。交回完成顺序(步数少的先完、相同按加入序);ready_count 一轮能推进几个。)

开始练习 →

补全:一轮各推进一步

(每道题开头都有同一段:run_loop(tasks),tasks 是 [(名字, 要跑几步)];事件循环每一轮给还没完的每个任务推进一步,跑完就记完成。交回完成顺序(步数少的先完、相同按加入序);ready_count 一轮能推进几个。)

开始练习 →

补全:一轮推进几个

(每道题开头都有同一段:run_loop(tasks),tasks 是 [(名字, 要跑几步)];事件循环每一轮给还没完的每个任务推进一步,跑完就记完成。交回完成顺序(步数少的先完、相同按加入序);ready_count 一轮能推进几个。)

开始练习 →

补全:谁最后完成

(每道题开头都有同一段:run_loop(tasks),tasks 是 [(名字, 要跑几步)];事件循环每一轮给还没完的每个任务推进一步,跑完就记完成。交回完成顺序(步数少的先完、相同按加入序);ready_count 一轮能推进几个。)

开始练习 →

gather 是做什么的

三个请求一起发出去,各自等着 等待重叠,结果一起收回来 asyncio.gather 的作用是【0】。

开始练习 →