劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
Club
Tips
熱門話題
搜尋
註冊
登入
首頁
>
Club
>
2021-05-09 14:50
callback=值是怎麼來的?
3
回覆列表
1 # 使用者1135633263822
所以你說的是 GUI 中的 event-handler callback。「回撥函式是由系統呼叫的」—— callback 不是由系統呼叫的。正確的流程為:
使用者的輸入裝置傳送資訊給 device driver。Device driver 將資訊發給某些 manager 程式。比如說,大多數滑鼠和鍵盤動作都會傳給 window manager。Window manager 會把這些動作翻譯成 event,透過 IPC 機制傳給 app。App 的 UI framework 會把這些透過 IPC 接受到的 event 放到 event-queue 中。你自己,或者 UI framework 會執行一個 loop。這個 loop 不停的去 event-queue 中取 event。如果取到,event-loop 會呼叫相應的 callback。在 callback 中加斷點,用 debugger 除錯,你會在 callstack 中看到從 event-loop 到你的 callback 的一系列呼叫。
發表回復
相關內容
python中callback怎麼使用?
《明偵6》立意深刻,callback設計太強!撒貝南自己亂了
∧
中秋節和大豐收的關聯?
∨
摩托車換化油器怎麼調?
熱門排行
文心一言內測用戶等待多久?
動物資料卡怎麼做?
海底撈星期天有團購嗎?
支付寶能代還款嗎?
為什麼陽臺上辣椒長不大?
灰燼聖殿怎麼去?
煤氣灶底下的蓋子漏氣怎麼辦?
生化危機七血清怎麼找到?
七夕自己做玫瑰花最簡單方法?
審視端詳注視區別?
所以你說的是 GUI 中的 event-handler callback。「回撥函式是由系統呼叫的」—— callback 不是由系統呼叫的。正確的流程為:
使用者的輸入裝置傳送資訊給 device driver。Device driver 將資訊發給某些 manager 程式。比如說,大多數滑鼠和鍵盤動作都會傳給 window manager。Window manager 會把這些動作翻譯成 event,透過 IPC 機制傳給 app。App 的 UI framework 會把這些透過 IPC 接受到的 event 放到 event-queue 中。你自己,或者 UI framework 會執行一個 loop。這個 loop 不停的去 event-queue 中取 event。如果取到,event-loop 會呼叫相應的 callback。在 callback 中加斷點,用 debugger 除錯,你會在 callstack 中看到從 event-loop 到你的 callback 的一系列呼叫。