c++ 11构建事件循环的方法

The C++11 way to build an event loop

本文关键字:方法 循环 事件 构建 c++      更新时间:2023-10-16

c++ 11中事件循环系统的基本结构是什么?关键元素(如消息队列、消息调度程序、信号)是如何实现的?例如,我是否仍然需要std::queue<Message>, std::mutexstd::condition_variable,因为我在c++98 + boost方式中所做的?此外,性能在我正在寻找的解决方案中也很重要。

大致按照c++ 98中的方法进行。您可以用标准化的对等物(std::thread、std::{recursive_,}{timed_,}mutex和std::condition_variable{,_any})替换一些特定于平台的东西,如pthread_t、pthread_mutex和pthread_cond,但基本设计是相同的。

正如@beerboy提到的,Boost。Asio可能是一个开始的好地方,尽管据我所知它还没有针对c++ 11进行更新。