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