Ситуация:
Я использую именованные каналы в Windows для IPC, используя C ++.
Сервер создает экземпляр именованного канала через CreateNamedPipe и ожидает подключения клиентов через ConnectNamedPipe.
Каждый раз, когда клиент вызывает CreateFile для доступа к именованному каналу, сервер создает поток, используя CreateThread для обслуживания этого клиента. После этого сервер повторяет цикл, создавая экземпляр канала через CreateNamedPipe и ожидая следующего клиента через ConnectNamedPipe и т. Д.
Проблема:
Каждый клиентский запрос запускает CreateThread на сервере. Если клиенты приходят в ярость, будет много вызовов CreateThread.
Вопросы:
Q1: Можно ли повторно использовать уже созданные потоки для обслуживания будущих клиентских запросов? Если это возможно, как мне это сделать?
Q2: Может ли пул потоков помочь в этой ситуации?