鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: Stubborn

[已解决]来来,说下这个程序的运行流程

[复制链接]
 楼主| 发表于 2021-2-2 23:00:28 | 显示全部楼层

还有哪里不明白的,我可以给你说呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-3 09:00:40 | 显示全部楼层
Stubborn 发表于 2021-2-2 23:00
还有哪里不明白的,我可以给你说呀

好的,那我有一个问题
在这段代码处:
a = f.send(result)
会触发
y = yield Async(add, (2, 3))
但是,为什么y的值不是Async这个类,而是apply_async计算后并推入到队列中的值呢?
apply_async这行代码的运行顺序是在对y进行赋值时之前,不太理解为什么会这样
谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-4 15:10:34 | 显示全部楼层
qiuyouzhi 发表于 2021-2-3 09:00
好的,那我有一个问题
在这段代码处:

向协程发送的啥呀?这个看清楚了吗?
第一次是None,预激活协程,得到一个Async类,赋值给了a,这时协程挂起了。
>>> apply_async(a.function, a.args, callback=result_queue.put)
这里进行结果的运算。并压入队列。
第二次的result是运算结果,发送给了协程,并且打印出来。又得到一个Async类,赋值给了a。
运算就是这样的

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 15:12:24 | 显示全部楼层
Stubborn 发表于 2021-2-4 15:10
向协程发送的啥呀?这个看清楚了吗?
第一次是None,预激活协程,得到一个Async类,赋值给了a,这时协程 ...

噢,好的,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 19:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表