Я использую класс TcpClient в C#.C#: Обработка сигнала завершения в потоке обработчика TCP?
Каждый раз, когда есть новый запрос соединения tcp, обычной практикой является создание нового потока для его обработки. И должно быть возможно, чтобы основной поток прекратил эти потоки обработчиков в любое время.
Мое решение для каждого из этих обработчиков нити следующим образом:
1 Check NetworkStream's DataAvailable method
1.1 If new data available then read and process new data
1.2 If end of stream then self terminate
2 Check for terminate signal from main thread
2.1 If terminate signal activated then self terminate
3 Goto 1.
Проблема с этим избирательного подхода состоит в том, что все эти нити обработчик будет принимать до значительных ресурсов процессора и особенно, если есть огромное количество этих потоков. Это делает его крайне неэффективным.
Есть ли лучший способ сделать это?
Почему существует wiki сообщества? –
Я случайно нажал на эту опцию и не могу ее изменить !!! – Lopper