PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
Re: [问题] 请问 Coroutine & 一般 callback 合作的问题
楼主:
HuangJC
(吹笛牧童)
2023-02-06 12:28:21
※ 引述《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查看
:
作者:
zerof
(猫橘毛发呆雕像)
2023-02-06 13:32:00
GUI 的设计原本就是 event-based, 一定会有 callbacks ;你的问题多到我不知道该从何吐槽,最原始的问题你其实可以左转 cython 学一下 release GIL 的用法就不会卡到 GUI (guizero 底层是用 tk, written in C)
作者:
surimodo
(好吃棉花糖)
2023-02-06 13:36:00
你python版本用多少
作者:
lycantrope
(阿宽)
2023-02-06 14:26:00
to_thread就是run_in_executor
作者:
poototo
(poototo)
2023-02-06 23:30:00
https://paste.ee/p/4EsOS
以上连结是使用两种conditionasyncio.condition是基于asyncio.eventasynio.notify跨绪仅可解锁及广播同eventloop的waiterloop向下对task,向上对thread,越级对其他loop的task我不确定可行性,但异步管理弄太复杂我宁愿牺牲效能...
作者:
OnoderaHaru
(小野寺春)
2023-02-07 01:00:00
https://paste.ee/p/HMP2T#s=0
反正最后还是包装成执行绪,直接用执行绪可以用的来沟通
https://paste.ee/p/HMP2T#s=1
(执行绪和协程沟通)
继续阅读
Re: [问题] 请问 Coroutine & 一般 callback 合作的问题
TakiDog
[问题] vscode 换成虚拟环境后永丰金API错误
Pettitte1
[问题] 请问dataframe怎么往前筛选
tuberosum
[问题] 请问 Coroutine & 一般 callback 合作的问题
HuangJC
[问题] 请问如何调用xlwings的SendKeys功能
badderken
Re: [问题] 如何用Pyqt去搜寻excel内特定区块的数值
rayko0702
[问题] LINE notify多萤幕截图
you7662000
[问题] 请问pywebio怎么把输出调整满版
mOuOm
Re: [问题] 如何用Pyqt去搜寻excel内特定区块的数值
nsay
[问题] 请问 /, * 出现在 parameter 里的意思
HuangJC
Links
booklink
Contact Us: admin [ a t ] ucptt.com