API 和回调函数之间的区别
Difference between api and call back function
请帮助我理解API和回调函数的概念。据我所知,以下是关键点:
- API 由第三方应用程序(被调用方(公开,
以便使用第三方(调用方(的应用程序可以使用公开的 API 与被调用方通信。在这里,IPC用于在两个进程之间交换信息。它们在不同的进程地址空间中运行。
回调函数由第三方应用程序(被调用方(公开,因此使用第三方(调用方(的应用程序可以知道 calee 中发生的任何事件,并且调用方需要基于该事件采取一些操作。这通常是使用函数指针实现的。它们在相同的进程地址空间中运行。
如果我错了,请纠正我,并添加您的宝贵观点。
-
是橙色的。API 是一个非常通用的术语,与架构或设计更相关。您必须制作特定于语言的 API(即
C
API,python
API(和Web
API(REST
,SOAP
(。 - 是苹果。是一种允许异步通信的 SOA 模式。
阅读更多:#design 模式回调
应用程序
使用第三方库的 api 来执行 API 描述的操作,并且该 api 主要返回一个值来指示成功或失败,或者有时返回失败的错误代码给调用方。
例如:创建文件((
回调函数是一种机制,通过该机制,应用程序将尝试使用函数指针将函数注册到第三方库,以便在发生特定事件时异步收到通知。
例如:如果我们的应用程序必须在电池电量不足的情况下弹出给最终用户,我们会向操作系统框架注册一个函数,以便在系统电池电量不足时调用我们的函数。发生这种情况时,我们可以实现一些省电例程或向用户弹出一个弹出窗口,以在我们的回调函数中警告电池电量不足。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 这 4 个 lambda 表达式之间有什么区别?
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- (double) 和 double() 之间的区别
- & 和 * 之间的区别
- std::is_convertible 和 std::convertible_to 之间的区别(在实践中)?
- 析构函数和'delete'之间的区别
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 函数签名与调用的函数不匹配,常量字符[]和字符*之间的区别?
- OpenMP #pragma omp for v/s #pragma omp parallel for 之间的区别?
- S() 与 S{} 之间的区别?