When using boost::asio for some asynchronous TCP communication I noticed it starts a lot of (3-4) internal threads. Reading in the documentation, it says
"The implementation of this library for a particular platform may
make use of one or more internal threads to emulate asynchronicity"
Now my lib has very strict requirements to not start any extra threads (except one that is supplied by the client and which now starts io_service::run()
). Is there any way to stop boost::asio from creating these extra threads?
Alternatively, is there any other async library out there that can run in only one thread?