Reputation: 1864
What's the basic structure of a event loop system in C++11? How are the key elements (such as message queue, message dispatcher, signal) implemented? For example, do I still need a std::queue<Message>
, a std::mutex
and a std::condition_variable
as what I did in c++98 + boost way? Also, the performance matters in the solution I'm seeking for.
Upvotes: 6
Views: 1693
Reputation: 5732
Do it roughly the same way you would have done it in C++98. You can replace some platform-specific things like pthread_t, pthread_mutex, and pthread_cond with standardized equivalents (std::thread, std::{recursive_,}{timed_,}mutex, and std::condition_variable{,_any}), but the basic design is the same.
As @beerboy mentioned, Boost.Asio might be a good place to start even though AFAIK it hasn't been updated for C++11 yet.
Upvotes: 2