Как закрыть/удалить все потоки внутри потока, где они были созданы? [дубликат]

268
16 ноября 2017, 01:54

На данный вопрос уже ответили:

  • Как реализовать остановку потока перед запуском нового его экземпляра? 2 ответа

Есть поток, пусть будет поток-родитель:

        Thread Thread1 = new Thread(Void1); //
        Thread1 .Start();

Внутри родителя создано N потоков, пусть будут потоки-дети. После создания последнего потока внутри родителя я приостанавливаю поток-родитель. и теперь мне необходимо удалить всех "детей" не проверяя ничего, просто прибить их. Это возможно как-то сделать?

Answer 1

Никак.

Во-первых, у потока нет понятия «дочернего потока». Вы не можете найти потоки, созданные данным, разве что вы сами при создании нового потока запоминаете его в доступном месте.

Во-вторых, «убивать» потоки нельзя. Потоки обязаны сотрудничать, и сами завершаться в нужный момент. (Обычно для таких целей используют CancellationToken.)

READ ALSO
Поменять местами столбцы в массиве

Поменять местами столбцы в массиве

Нужно поменять местами столбцы k1 и k2 у меня чет не получается меняется только один столбец и все (( -Задания такое Данные два числа k1 и k2 и матрица...

398
Как разместить C# телеграмм бота на Heroku?

Как разместить C# телеграмм бота на Heroku?

Имеется простой бот в VS, который ничего не принимает, только иногда проверяет Гугл таблицу и отправляет мне инфоКак правильно его развернуть...

363
Направление силы в юнити

Направление силы в юнити

Хочу, чтобы когда я нажимал на лкм на платформе, то объект перемещался в данную точку с помощью силыНо он некорректно вычисляет направление

300
Ошибка Timeout expired при выполнении MySQL-запроса

Ошибка Timeout expired при выполнении MySQL-запроса

Есть запрос в БД (на нем и происходит ошибка, остальные обрабатываются нормальноСам запрос рабочий (проверял в Workbench))

254