回调函数

一. 网址参考

  1. 回调函数(callback)是什么?

 

二. 个人理解

  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界面上

posted @ 2023-02-17 11:10  shanyu20  阅读(91)  评论(0编辑  收藏  举报