Как убить все дочерние потоки в C #? - PullRequest
0 голосов
/ 10 июля 2019

Предположим, у меня есть серверное приложение. Это приложение опрашивает входящих клиентов в отдельном дочернем потоке. Кроме того, для каждого из входящих клиентов создаются подпотоки, которые обслуживают свои запросы отдельно.

Я хочу уничтожить все потоки, кроме основного потока приложения сервера, скажем, нажатием кнопки.

Как я могу это сделать?

1 Ответ

0 голосов
/ 10 июля 2019

Это приложение опрашивает входящих клиентов в отдельном дочернем потоке.

Хорошо, похоже, именно вы создаете эти темы. Разве вы не можете просто сохранить список тем и затем вызвать Abort для всех них? Это кажется самым прямым подходом. (Но учтите некоторые предостережения )

Если это невозможно, вы можете получить список всех потоков , отфильтровать их по имени или какой-либо другой характеристике и Abort тех.

Лучшим подходом является использование задач, которые гораздо лучше управляемы, чем потоки. Возможно, вы захотите прочитать о TPL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...