绿'kill'块有什么区别



当我尝试使用kill()杀死绿色的greenlet时,'块'参数默认为true,

Greenlet.kill(self, exception, block, timeout)

文档说:

如果块为 true (默认),请等到绿色死亡或 可选超时到期。如果块是 false ,则当前 绿色不是不定期的。

如何正确理解这一点?thx

,假设您有两个greenlets AB

1)在B内您致电A.kill(block=True)。在此上下文开关发生之后,立即发生了Python跳到A,并且在A中提出了例外。A可能会处理或不处理它,它可能会跳到其他地方,超时可能发生在杀戮之上等。

2)在B中您致电A.kill(block=False)。上下文开关不会发生发生。B在杀死后继续运行其他命令。Kill Command计划开火,即Python跳到A,它将提高例外。

so afaik" block"只是表示"立即进行开关"。

相关内容

  • 没有找到相关文章

最新更新