In computer programming, a callback is executable code that is passed as an argument to other code. It allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.

所謂callback function就是等著被呼叫的function 通常會使用在interrupt handler(中斷處理), 或一些event handler(事件處理)

這些callback function一般會在你的主程式向系統註冊它們的address
當某些硬體或軟體中斷髮生時, 或某些事件發生時
系統就會去呼叫這些callback function

所以, callback function並不是直接讓你的程式呼叫的~ 如果沒有使用callback function的機制, 而需要在某些事件發生時去做一些事 就變成要有一個迴圈一直去監視事件是否發生, 這就會很耗損CPU時間

在Windows的AP或driver很常見到Callback function的使用比如說, timer也是一個callback function~ 而gtk中 event loop 的概念也需要 callback function 來實現 !



參考資料

事件驅動程式設計
http://tinyurl.com/28mdag

wiki : Callback (computer science)
arrow
arrow
    全站熱搜

    tttt 發表在 痞客邦 留言(1) 人氣()