在 C++ 中处理复合异步函数

Posted

技术标签:

【中文标题】在 C++ 中处理复合异步函数【英文标题】:Handling composite asynchronous functions in c++ 【发布时间】:2011-12-15 05:48:58 【问题描述】:

我有一个 API,它以异步方式从服务器发送/接收请求/数据。该 API 带有请求函数及其相应的回调。

我打算使用这个 API,但是我的应用程序中的一个函数可以在它开始自己做任何事情之前向服务器发送多个异步请求。是否有任何框架来管理复合异步函数。

一个例子是

   void doSomething()
   
      sendRequestDataItem1();  //receives result in getDataItem1()
      sendRequestDataItem2();  //receives result in getDataItem2()
      sendRequestDataItem3();  //receives result in getDataItem3()

      //this function can either be a composite handler or something else 
      NowDoSomethingMore();
   

谢谢 湿婆

【问题讨论】:

How to use callback results in asynchronous model C++的可能重复 【参考方案1】:

我会推荐boost::signals,它很容易使用。

如果您需要线程安全(猜测?)boost::siganals2 是一个不错的起点。

【讨论】:

以上是关于在 C++ 中处理复合异步函数的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 C++ 中使用异步函数?

如何在 C++ 中运行异步增强功能?

C++ asio 提供线程的异步执行

C++ - 如何分块文件以进行同时/异步处理?

C++ Microsoft SAPI:异步处理事件和泵消息

C++,OpenCV:异步运行 cuda::dft