Thread.Suspend Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.