Stubborn 发表于 2021-2-2 23:00:28

qiuyouzhi 发表于 2021-2-2 22:13
蛤?

还有哪里不明白的,我可以给你说呀{:10_281:}

qiuyouzhi 发表于 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进行赋值时之前,不太理解为什么会这样
谢谢~

Stubborn 发表于 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。
运算就是这样的

qiuyouzhi 发表于 2021-2-4 15:12:24

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

噢,好的,谢谢了
页: 1 [2]
查看完整版本: 来来,说下这个程序的运行流程