Udostępnij za pośrednictwem


Thread.Suspend Metoda

Definicja

Przestroga

Thread.Suspend has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. https://go.microsoft.com/fwlink/?linkid=14202

Przestroga

Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.

Przestroga

Thread.Suspend has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. http://go.microsoft.com/fwlink/?linkid=14202

Wstrzymuje wątek lub jeśli wątek jest już wstrzymany, nie ma żadnego efektu.

public:
 void Suspend();
[System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  https://go.microsoft.com/fwlink/?linkid=14202", false)]
public void Suspend ();
[System.Obsolete("Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.")]
public void Suspend ();
public void Suspend ();
[System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  http://go.microsoft.com/fwlink/?linkid=14202", false)]
public void Suspend ();
[<System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  https://go.microsoft.com/fwlink/?linkid=14202", false)>]
member this.Suspend : unit -> unit
[<System.Obsolete("Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.")>]
member this.Suspend : unit -> unit
member this.Suspend : unit -> unit
[<System.Obsolete("Thread.Suspend has been deprecated.  Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.  http://go.microsoft.com/fwlink/?linkid=14202", false)>]
member this.Suspend : unit -> unit
Public Sub Suspend ()
Atrybuty

Wyjątki

Tylko .NET Core i .NET 5+: we wszystkich przypadkach.

Wątek nie został uruchomiony lub nie istnieje.

Wywołujący nie ma SecurityPermission odpowiedniego .

Uwagi

Jeśli wątek jest już wstrzymany, ta metoda nie ma wpływu.

Przestroga

Nie używaj metod Suspend i Resume do synchronizowania działań wątków. Nie możesz wiedzieć, jaki kod jest wykonywany przez wątek po jego wstrzymaniu. Jeśli wstrzymasz wątek w trakcie blokady podczas oceny uprawnień zabezpieczeń, inne wątki w węzłem AppDomain mogą być blokowane. Jeśli wstrzymasz wątek podczas wykonywania konstruktora klasy, inne wątki w tej próbie użycia AppDomain tej klasy zostaną zablokowane. Zakleszczenia mogą wystąpić bardzo łatwo.

Po wywołaniu metody w wątku system zauważa, że zażądano zawieszenia wątku i umożliwia wykonanie wątku do momentu osiągnięcia bezpiecznego punktu przed faktycznie wstrzymaniem Suspend wątku. Punktem bezpiecznym dla wątku jest punkt w jego wykonaniu, w którym można przeprowadzić odzyskiwanie pamięci. Po osiągnięciu punktu bezpiecznego środowisko uruchomieniowe gwarantuje, że wstrzymany wątek nie będzie wykonywał żadnych dalszych postępów w kodzie zarządzanym. Wątek wykonywany poza kodem zarządzanym jest zawsze bezpieczny w przypadku wyrzucania elementów bezużytecznych, a jego wykonywanie jest kontynuowane, dopóki nie spróbuje wznowić wykonywania kodu zarządzanego.

Dotyczy

Zobacz też