私はBoost :: Asioに基づいてネットワークサーバーを開発しています。ブロックブーストAsioワーカースレッド
私は、ネットワークアクティビティがASIO(例えば。受け入れるか、受信)の活動を処理するために、これらのワーカースレッドの1つを使用して発生した場合boost::asio::io_service::run()
を呼び出すために使用IOワーカースレッドのboost::thread_group
を持っています。
私のアプリケーションは、いくつかの計算、おそらくいくつかの他のIO(boost経由)、場合によってはデータベースアクティビティを行います。
これらのスレッド内での作業がどのような意味を持つのかを知りたいと思います。具体的に:
- IOスレッド原因
io_service
どんな悲しみに(おそらく重要な仕事)を行っていますか?
さらに具体的には、私が考えなければならないその他の問題。
ワーカースレッドから 'boost :: asio'を呼び戻すことは、私には分かりません。私はすべてのワーカースレッドが 'io_service'に追加の作業を追加することを期待します。さもなければ、イベント処理ループ(' io_service :: run() ')は終了します。 –
@Sam、ありがとう - 私はおそらく、その特定の点についてあまりにも心配していると思います。私は質問を編集します。私が心配していることは、ワーカースレッドの中であまりにも多くの作業をしていることです。 – Nick