api和回调函数之间的区别

时间:2015-02-11 04:59:14

标签: c++ linux api callback ipc

请帮助我理解API和回调函数的概念。据我所知,以下是关键点:

  1. API由第三方应用程序(callee)公开,因此使用第三方(调用方)的应用程序可以使用公开的API与被叫方通信。这里 IPC 用于在两个进程之间交换信息。 它们在不同的进程地址空间中运行。

  2. 第三方应用程序(被叫方)公开回调函数,以便可以让使用第三方(来电者)的应用程序知道在calee中发生的任何事件,并且调用者需要采取基于相同的一些行动。这通常使用 函数指针 来实现。 它们在相同的进程地址空间中运行。

  3. 如果我错了,请纠正我,并且还要加上你的宝贵点。

2 个答案:

答案 0 :(得分:1)

  1. 是橙色API是一个非常通用的术语,与架构 design 更相关。您必须改变特定于语言的API(即C API,python API)和Web API(RESTSOAP)。
  2. 是苹果。是允许异步通信的SOA Pattern
  3. 了解详情:#design-pattern-callback

答案 1 :(得分:0)

应用程序使用第三方库的api来执行API所描述的操作,并且api通常会返回一个值来指示成功或失败,或者某些时候错误代码指示调用者失败。< / p>

例如:createFile()

回调函数是一种机制,应用程序尝试使用函数指针将函数注册到第三方库,以便在特定事件发生时异步通知。

例如:如果我们的应用程序必须以低电量弹出最终用户,我们会在os框架中注册一个函数,以便在系统电池电量不足时调用我们的函数。 当发生这种情况时,我们可以为用户实施一些省电例程或弹出窗口,以警告我们的回调函数中的电量不足。