ブースト asio ライブラリを使用しています。これは私の実装です
boost::asio::io_service ioservice;
boost::asio::io_service::work work(ioservice);
boost::thread_group threads;
for (int i = 0; i < 10; i++)
{
threads.create_thread(
boost::bind(&boost::asio::io_service::run, &ioservice));
}
次に、io サービス オブジェクト (非同期の読み取り/書き込み/タイマーなど) が必要なときはいつでも、この ioservice オブジェクトのインスタンスを引数として渡します。多くの非同期操作を処理する必要がある場合は、スレッド数を増やすだけです。
同僚の中には、1 つのワーカー スレッドだけで複数の io サービス オブジェクトを作成する人もいます。
正しい実装はどれですか? 改善できますか?