Tuesday, February 26, 2008

什麼是callback function ?


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)

1 comment:

  1. GTK 裡面 運用signal 的方式
    也是需要callback function
    實際上是 signal被觸發到 執行callback function ~ signal 會提供一些 現在的資訊傳給callback function ...



    怪不得之前怎麼看都看不懂

    ReplyDelete

發表一下意見,互動一下唄!

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Adventure Book 2.0 Headline Animator

GoogleAd

funP Android 相關文章