Существует ли известный алгоритм для реализации пула соединения? Если не, каковы известные алгоритмы и каковы их компромиссы?
Что шаблоны разработки распространены при разработке и программировании пула соединения?
Действительно ли там какие-либо примеры кода реализуют, пул соединения с помощью boost.asio?
Действительно ли это - хорошая идея использовать пул соединения для сохранения соединений (не http)?
Как поточная обработка связана с организацией пула подключений? Когда Вам нужен новый поток?
Если вы ищете чистую политику пулинга потоков (может быть соединение или любой ресурс), есть два простых подхода:
Модель Half Sync/Half Async (обычно использует очереди сообщений для передачи информации).
Модель ведущих/следующих (обычно для передачи информации используются очереди запросов).
Первый подход выглядит следующим образом:
Сам главный поток может потреблять полученные задания в FCFS или приоритетном порядке. Это будет зависеть от вашей реализации.
Вторая модель (Leader/Followers) выглядит примерно так:-
Могут быть и другие подходы, но описанные выше - простые, которые работают в большинстве случаев.
Half Sync/Half Async Основные недостатки:-
Лидер/фолловеры Основные недостатки:-
Теперь вы можете решить для себя, какой подход более правильный. HTH,