一、回调机制
1.回调定义(小A带着名片D通过途径C找到小B求他帮忙,小B不能立即解决于是收下名片D,之后的某天小B解决了小A的问题后又通过名片D告诉了小A解决方法)
2.回调方法:
①定义一个函数(普通函数即可);②将此函数的地址注册给调用者;③特定的事件或条件发生时,调用者使用函数指针调用回调函数。例如:
二、同步回调和异步回调
举例:假设有两个程序员在写代码,A程序员写底层驱动接口,B程序员写上层应用程序,然而此时底层驱动接口A有一个数据d需要传输给B,此时有两种方式:
- 方法一:A将数据d存储好放在接口函数中,B自己想什么时候去读就什么时候去读,这就是我们经常使用的函数调用,此时主动权是B。
- 方法二:A实现回调机制,当数据变化的时候才将通知B,你可以来读取数据了,然后B在用户层的回调函数中读取速度d,完成OK。此时主动权是A。
方法一效率较低,B不知道什么时候该去调用接口函数读取数据d。方式二由于B的读取数据操作