Я начал использовать Boost.ASIO для некоторых простых сетевых программ, мое понимание библиотеки не так уж много, поэтому, пожалуйста, несите меня и мой вопрос о новичках.
В настоящий момент в моем проекте у меня есть только объект io_service
. Который используется для всех операций асинхронного ввода-вывода и т.д.
Я понимаю, что можно создать несколько потоков и передать метод run экземпляра io_service
в поток, чтобы предоставить больше потоков для io_service
.
Мой вопрос: хороший дизайн имеет несколько объектов io_service
? например, имеют 2 различных экземпляра io_service
, каждый из которых связан с двумя потоками, как-то они знают друг о друге (и, следовательно, сотрудничают с каждым), или если они не будут отрицательно влиять друг на друга?
Мое намерение состоит в том, чтобы иметь 1 io_service
для ввода-вывода на основе сокетов, а другой для ввода/вывода с последовательным интерфейсом (tty).