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