Wstrzymanie i wznowienie wątku

0

W C# dla danego wątku istnieją metody "Suspend" i "Resume", które powodują odpowiednio wstrzymanie i wznowienie działania danego wątku.

Wszystko jest w porządku i program działa tak, jak potrzebuję, ale VS2008 pokazuje ostrzeżenie, że te 2 metody są przestarzałe.

W jaki sposób można wstrzymać i wznowić dany wątek bez użycia metod przestarzałych? Na pewno jest jakiś inny sposób, skoro wspomniane metody są przestarzałe.

1

Nie wstrzymywać i nie wznawiać.

http://msdn.microsoft.com/en-us/library/system.threading.thread.resume(v=vs.110).aspx

Do not use the Suspend and Resume methods to synchronize the activities of threads. You have no way of knowing what code a thread is executing when you suspend it. If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. If you suspend a thread while it is executing a class constructor, other threads in the AppDomain that attempt to use that class are blocked. Deadlocks can occur very easily.

Używaj locków, semaforów, i takich tam, ale nie zatrzymuj wątków tak na chama.

0

I przesiądź się na

 Task<>

a co za tym idzie używaj async/await.

1 użytkowników online, w tym zalogowanych: 0, gości: 1