как выйти или остановить работающий поток в c? - PullRequest
0 голосов
/ 27 мая 2010

Я использую Win32 API.

У меня есть нить в c, и я хочу завершить ее с внешней стороны нити, поэтому не могу использовать exitthread ()

Я не могу использовать какие-либо параметры ожидания, потому что мне нужно убить эту тему и запустить ее снова в очень короткое время.

нужна помощь,

1 Ответ

4 голосов
/ 27 мая 2010

Вы можете утеплить нить, используя TerminateThread, используя дескриптор нити, полученный из CreateThread. см http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

Обратите внимание на предупреждение на сайте MSDN. Завершение потока опасно.

Учтите, что потоку могут быть выделены ресурсы, которые не будут освобождены, когда вы прекратите его, как вы описали. Пример: если поток вошел в критическую секцию и прерван до ухода, вы не сможете войти в CS с другим потоком.

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