2013-05-16 8 views
6

C++ 11のイベントループシステムの基本構造は何ですか?主要な要素(メッセージキュー、メッセージディスパッチャ、シグナルなど)はどのように実装されていますか?たとえば、、std::mutexstd::condition_variableが私の中で何をしたかのようになりますC++ 98 + boost方法はありますか?また、私が求めているソリューションのパフォーマンスも重要です。イベントループを構築するC++ 11の方法

+5

スタンダードにはメッセージキューなどの高水準クラスは存在しないため、あなたが言及しているタイプの中から独自のものを作る必要があります。 – juanchopanza

+5

パフォーマンスが重要な場合は、ターゲットOSにネイティブなメカニズムを使用してください。たとえば、OS Xをターゲットにする場合は 'kqueue'を、Linuxでは最良の結果を得るには' epoll'を使います。 C++ 11はこれとは関係ありません。 –

+2

既にBoostを使用している場合は、Boost.Asioを使用できます。 – beerboy

答えて

2

C++ 98で行ったのとほぼ同じ方法です。 pthread_t、pthread_mutex、pthread_condなどのプラットフォーム固有のものを標準化された同等のもの(std :: thread、std :: {recursive _、} {timed _、} mutex、std :: condition_variable {、_ any})に置き換えることはできますが、基本的なデザインは同じです。

@beerboyが述べたように、AFAIKはまだC++ 11では更新されていませんが、Boost.Asioは起動するのに適しているかもしれません。

関連する問題