0
|
Amir Hossein Baghernezad · 技术社区 · 6 年前 |
![]() |
1
1
当你做异步的事情时,你没有连续的流动。有一个
event loop
,有一个水池
tasks
并在它们之间切换:当当前任务
time.sleep 正如@user2357112在注释中优雅地指出的那样,它是同步的,它只会阻止执行一段时间,而不会给继续执行不同协同工作的机会。
所以,什么
感受差异。 |
![]() |
2
2
异步不是线程。异步代码在遇到等待或函数完成之前不会放弃控制。你的睡眠功能不会放弃控制,所以: Asyncio循环正在运行,并且计划了do-one和do-two。循环选择运行do_one,因为不生成或等待代码,所以在函数完成之前不会返回循环。 |
![]() |
Kristy · 无法通过conda安装Asyncio 7 年前 |