Thread.Suspend Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
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
Achtung
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
Hält entweder den Thread an oder hat keine Auswirkung, wenn der Thread bereits angehalten ist.
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)]
public void Suspend();
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
[<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
Public Sub Suspend ()
- Attribute
Ausnahmen
Nur .NET Core und .NET 5+ : In allen Fällen.
Der Thread wurde nicht gestartet oder ist tot.
Der Aufrufer verfügt nicht über die entsprechende SecurityPermission.
Hinweise
Wenn der Thread bereits angehalten ist, hat diese Methode keine Auswirkung.
Vorsicht
Verwenden Sie nicht die Suspend Und Resume Methoden, um die Aktivitäten von Threads zu synchronisieren. Sie haben keine Möglichkeit zu wissen, welchen Code ein Thread ausführt, wenn Sie ihn anhalten. Wenn Sie einen Thread anhalten, während er Sperren während einer Sicherheitsberechtigungsauswertung enthält, werden möglicherweise andere Threads in der AppDomain Datei blockiert. Wenn Sie einen Thread während der Ausführung eines Klassenkonstruktors anhalten, werden andere Threads in dem AppDomain Versuch, diese Klasse zu verwenden, blockiert. Deadlocks können sehr einfach auftreten.
Wenn Sie die Suspend Methode für einen Thread aufrufen, stellt das System fest, dass eine Threadaufsetzung angefordert wurde, und ermöglicht dem Thread die Ausführung, bis er einen sicheren Punkt erreicht, bevor er den Thread tatsächlich angehalten hat. Ein sicherer Punkt für einen Thread ist ein Punkt in der Ausführung, an dem die Garbage Collection ausgeführt werden kann. Sobald ein sicherer Punkt erreicht ist, garantiert die Laufzeit, dass der angehaltene Thread keinen weiteren Fortschritt im verwalteten Code erzielt. Ein Thread, der außerhalb von verwaltetem Code ausgeführt wird, ist für die Garbage Collection immer sicher, und seine Ausführung wird fortgesetzt, bis sie versucht, die Ausführung von verwaltetem Code fortzusetzen.