callback回調(diào)函數(shù) callback回調(diào)函數(shù),怎么用,為什么要用?
callback回調(diào)函數(shù),怎么用,為什么要用?不接觸嵌入式開發(fā),但對C語言稍有了解,勉強應(yīng)付自如。舉一個實際的例子,比如在瀏覽器中向百度發(fā)出搜索請求,這可能是以下場景:CPU:你好!百度,今天天氣怎么
callback回調(diào)函數(shù),怎么用,為什么要用?
不接觸嵌入式開發(fā),但對C語言稍有了解,勉強應(yīng)付自如。
舉一個實際的例子,比如在瀏覽器中向百度發(fā)出搜索請求,這可能是以下場景:
CPU:你好!百度,今天天氣怎么樣?
如果CPU問這個問題需要一秒鐘的時間,那么從CPU的角度來看,等待百度的回復(fù)可能相當(dāng)于等待一年,因為CPU的處理速度與網(wǎng)速相比太快了。
所以回到CPU,它有很多時間來完成其他任務(wù),在長時間等待網(wǎng)絡(luò)請求。
剛剛啟動的網(wǎng)絡(luò)請求怎么樣?百度的回復(fù)可能快也可能慢,這取決于網(wǎng)絡(luò)媒體。不管怎樣,我們不知道它什么時候會來。但CPU在這段時間內(nèi)肯定不是閑置浪費啊
!此時,智能工程師告訴CPU,發(fā)送此請求后,您可以放心完成其他任務(wù)!當(dāng)百度回復(fù)到的時候,你會收到一條短消息。當(dāng)你的手機響了,處理百度的回復(fù)并給用戶反饋
!然后,上面的工程師提到“當(dāng)百度回復(fù)過來的時候,會給CPU發(fā)短信”,這是發(fā)問者要求的回調(diào)函數(shù)。
很多時候,回調(diào)都是告訴你一個任務(wù)已經(jīng)完成,比如,把文件寫到硬盤上已經(jīng)完成,網(wǎng)絡(luò)請求已經(jīng)收到響應(yīng),π已經(jīng)計算到30萬位
希望對你有所幫助!