callback 回调
callback最初的意义是:首先,应用程序调用了系统API;然后这个系统API倒回去调用应用层的某个API。这个倒回去调用的过程就是回调,非常的“字面”。即【 应用程序_a.系统API_b(应用层某个API_c) 】= 【 <调用,再回调> 】
应用程序_a和应用层某个API_c属于一家人,所以整个过程就像:if you call me, I will call you back
因此,类似这样<调用,再回调>的过程就叫做callback。其实怎么叫不重要,理解了整个过程就好
到此,callback的整个过程可以用一个模式归纳起来:
起始函数A.中间函数B(callback函数C)
回调的应用场景
回调分为同步回调和异步回调,最常用是异步回调,即回调函数在线程中执行,例如A.createThread_B(callback_C)
为什么?
因为在很多应用场景中,我们不希望<调用,再回调>的过程阻塞起始函数的继续往下执行;我们希望起始函数无需阻塞地等待回调过程结束返回结果,而是可以继续做其他的事情
例如,我去门店买鞋,由于没有合适的码数,于是让店员去仓库找找看,找到了再给我打电话,整个过程就是我.店员找鞋(callback)。如果我要一直等到店员call我,那中间我一定很无聊,于是我希望可以去奶茶店坐一下打打游戏,希望可以继续做其他的事情而不是干等
网友评论