Thread.Suspend Methode

Definition

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.

Gilt für:

Weitere Informationen