※ 引述《TakiDog (多奇狗)》之铭言:
: 如果程式中出现threading(非Asyncio.run_in_executor)与Async混用
: 我一定会先思考人生,是不是把Python变难了,是不是能从流程改善
: 让被歧视的胶水语言保有最后一点的优雅
一开始我就说,全用 thread 和 全用 Coroutine 我都做得到
但我有非得混用的理由,原因是我用了从网络下载的模组
它有它的 callback, 而 callback 不是我写的,其宣告不带有 async
至于流程 work around 我也做到了,但感觉像 polling
问题在这里不好
: > https://paste.ee/p/kgAsv
: 在同一个process中任意执行 asyncio.run 并不一定是同一个eventLoop
: (不同thread又分别建立了Loop)
这我是知道的
: 在整个process中 asyncio.run 基本上只应该存在一个
我以为,不同 thread 可以各别有 asyncio.run
: 你可以尝试把asyncio.run的部分都改用 loop = get_event_loop()
: 查看loop的id. 或从Debugger查看
: