I've begun using Boost.ASIO for some simple network programming, my understanding of the library is not a great deal, so please bear with me and my newbie question.
At the moment in my project I only have 1 io_service
object. Which use for all the async I/O operations etc.
My understanding is that one can create multiple threads and pass the run method of an io_service
instance to the thread to provide more threads to the io_service
.
My question: Is it good design to have multiple io_service
objects? say for example have 2 distinct io_service
instances, each with 2 threads associated, do they somehow know about each other (and hence cooperate with each), or if not would they negatively affect each other?
My intention is to have 1 io_service
for socket based I/O and another for serial based (tty) I/O.