当尝试实现异步 API 调用/非阻塞调用时,我对我拥有的纯 C 应用程序有所了解,我阅读了“Delegates”关于 APM(异步编程模型)的内容。基本上我想做的是调用一个 API f1()
来执行一项功能(需要很长时间 8-10 秒),所以我称该 API f1()
,忘记它,继续做一些其他工作,例如用于为下一次调用 f1()
或某些不依赖于 f1()
结果的功能获取数据的 I/O。
如果有人使用过 APM 编程模型,我正在查看一些关于实现非阻塞调用的简明解释。
是否有任何其他方法来实现异步 API,任何其他库/框架可能对此有所帮助?
最佳答案
您基本上需要创建一个多线程(或多进程)应用程序。 f1() API 需要生成一个线程(或进程)来在单独的执行空间中处理数据。完成后,f1() 例程需要向主进程发出执行完成的信号(signal()、消息队列等)。
关于c - 异步API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62322/