在单独的线程中处理 GUI + asyncio 时,建议在 asyncio 循环需要与 GUI 通信时使用队列。但是,当 GUI 希望与异步事件循环通信时,应该使用call_soon_threadsafe()
.
例如,一个答案指出:
当事件循环需要通知 GUI 刷新某些内容时,它可以使用队列,如下所示。另一方面,如果 GUI 需要告诉事件循环做某事,它可以调用 call_soon_threadsafe 或 run_coroutine_threadsafe。
我不明白的是为什么 GUI 不能使用另一个队列而不是call_soon_threadsafe()
?即GUI不能将数据放入队列中以供异步循环获取和处理吗?这只是一个设计决策还是有一些技术原因不使用从 GUI 到异步循环的队列?
LEATH
相关分类