回调函数
一. 网址参考
二. 个人理解
1. 应用场景
1.1. 驱动:
驱动程序注册回调函数给内核,如open、read、write等操作
1.2 库API函数:
调用者,在调用库API函数时,通过参数的方式告诉API其回调函数,当API运行的过程中,会执行回调函数;
分为两步:
高层----->底层
高层<----底层
1.3 线程之间异步通信
示例: 如web线程想要GPRS线程执行某条AT指令,并把结果显示在web界面上;但执行AT指令需要一点时间,并且GPRS线程不想在中间运行过程中被打断
步骤:
1)web线程检测到了AT指令测试按钮,则把要调试的AT指令、结果处理的回调函数(指针)及私有参数封装成一条消息发送给了GPRS线程;
2)结果处理的回调函数(在web界面上显示AT指令测试结果)由web线程定义
3) 当GPRS线程从消息队列里解析到此条消息时,发送AT指令到GPRS模块,并等待结果
4)GPRS线程得到GPRS模块回复之后,通过执行web线程提供的回调函数和私有参数,则把AT指令的测试结果显示在了web界面上