c/c++中的一些回调函数(callback)的理解
回调函数分为异步回调和同步回调两种,我们一般来说用的都是用异步的回调,使用我们下面强调一下异步的!
异步:
异步回调函数——最核心的作用可以用一个生活中网购的例子来说明:
比如我在网上买了一样东西,就像程序中执行了一个任务(多用于线程中),但是我有不知道这个任务什么时候执行完成,如果我不用回调函数,那么我需要一直去等待,或者说定时去询问这个任务是否已经完成,这样就产生了多余的开支。但是回调函数却可以规避这样的开销,只要我们开启这个任务的时候传入一个设置好的函数指针,这个指针又指向我们早已实现好的回调函数,当任务完成是,即会自动调用这个回调函数,完成相应的反馈,现实中就是买了东西之后我们只要将电话号码告诉卖家,当快递到达是自然会通知我们,然后我们完成相应的取快递动作即可。
下面是异步回调的例子:
https://blog.csdn.net/FlayHigherGT/article/details/104286558
同步:
比如一个for循环,里面的函数有我们自己实现了传入进去,就像下面包装的这个遍历函数,传入的func就是我们每次遍历需要做的事情以及传入的参数,这样的一个函数就是同步的回调函数。