Using two thread pools based on boost::asio for many acceptors and executors.