agent_kruger Ответов: 3

Правильно убейте поток в c# win. форма


Как убить рабочий поток должным образом. Я пытался
Thread.Abort();


И

Thread.Interrupt();
Thread.Abort();


но ничего из этого не вышло. Любое предположение, где я ошибаюсь, будет полезно.

PIEBALDconsult

Тогда не делай этого. Вы пробовали установить семафор, который говорит потоку остановиться самостоятельно?

agent_kruger

что такое семафор?

SofiaRodrigues

https://en.wikipedia.org/wiki/Semaphore_(Программирование) смотрите эту страницу в Википедии

agent_kruger

сэр, не могли бы вы объяснить, что такое "семафор "?

Philippe Mori

Никогда не убивай нить. Изучайте многопоточность, читая книги или выполняя учебные пособия. Вы не хотите импровизировать код, не понимая, как он работает...

3 Ответов

Рейтинг:
1

Suk@nta

проверьте ссылку ниже, и я думаю, что вы получите некоторую соответствующую информацию об этом
http://msdn.microsoft.com/en-us/library/7a2f3ay4.aspx[^]


agent_kruger

что такое "рабочий"? и как вы им пользуетесь? я не получаю работника после написания использования.Система.Нарезание резьбы.

Рейтинг:
0

Karthik_Mahalingam

Читать это

http://msdn.microsoft.com/en-us/library/7a2f3ay4(v=против 90).aspx[^]

проверьте эту аналогичную нить как убить поток в C#[^]


agent_kruger

в моем случае, когда я пишу interupt, а затем прерываю, он ничего не делает, но перед завершением блока кода он выдает ошибку "поток прерван". Я взял весь блок кода в try catch и не выдал никакого сообщения об ошибке, но оно все равно показывает сообщение об ошибке. Итак, есть идеи, как остановить нить?

Karthik_Mahalingam

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

ссылка

agent_kruger

Я уже пробовал, но он говорит, что "нить" все еще жива. Что же мне делать?

Karthik_Mahalingam

вам нужно убить его силой ??

agent_kruger

как же так?

Karthik_Mahalingam

вам нужно убить его явно или нужно подождать, пока процесс не будет завершен.. ??

Karthik_Mahalingam

проверьте и эту ссылку
http://stackoverflow.com/questions/12949024/detecting-a-thread-is-already-running-in-c-sharp-net