Thread.Suspend Methode

Definition

Warnung

Diese API ist jetzt veraltet.

Hält den Thread an. Hat keine Auswirkungen, wenn der Thread bereits angehalten ist.Either suspends the thread, or if the thread is already suspended, has no effect.

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)]
[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)]
[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 ();
member this.Suspend : unit -> unit
Public Sub Suspend ()
Attribute

Ausnahmen

Nur .NET Core: Dieser Member wird nicht unterstützt..NET Core only: This member is not supported.

Der Thread wurde nicht gestartet oder reagiert nicht.The thread has not been started or is dead.

Der Aufrufer verfügt nicht über die geeignete SecurityPermission.The caller does not have the appropriate SecurityPermission.

Hinweise

Wenn der Thread bereits angehalten wurde, hat diese Methode keine Auswirkungen.If the thread is already suspended, this method has no effect.

Achtung

Verwenden Sie die Methoden Suspend und Resume nicht, um die Aktivitäten von Threads zu synchronisieren.Do not use the Suspend and Resume methods to synchronize the activities of threads. Sie haben keine Möglichkeit, zu wissen, welcher Code von einem Thread ausgeführt wird, wenn Sie ihn aussetzen.You have no way of knowing what code a thread is executing when you suspend it. Wenn Sie einen Thread aussetzen, während er während einer Bewertung der Sicherheits Berechtigung Sperren enthält, werden möglicherweise andere Threads in der AppDomain blockiert.If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. Wenn Sie einen Thread beim Ausführen eines Klassenkonstruktors aussetzen, werden andere Threads in der AppDomain, die versuchen, diese Klasse zu verwenden, blockiert.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 können sehr einfach auftreten.Deadlocks can occur very easily.

Wenn Sie die Suspend-Methode für einen Thread aufzurufen, erkennt das System, dass ein Thread angehalten wurde, und ermöglicht die Ausführung des Threads, bis er einen sicheren Punkt erreicht, bevor der Thread tatsächlich angehalten wird.When you call the Suspend method on a thread, the system notes that a thread suspension has been requested and allows the thread to execute until it reaches a safe point before actually suspending the thread. Ein sicherer Punkt für einen Thread ist ein Punkt in seiner Ausführung, an dem eine Garbage Collection durchgeführt werden kann.A safe point for a thread is a point in its execution at which garbage collection can be performed. Sobald ein sicherer Punkt erreicht ist, garantiert die Runtime, dass der unterbrochene Thread in verwaltetem Code nicht weiter fortgesetzt wird.Once a safe point is reached, the runtime guarantees that the suspended thread will not make any further progress in managed code. Ein außerhalb von verwaltetem Code ausgeführter Thread ist stets sicher für die Garbage Collection, und dessen Ausführung wird fortgeführt, bis er versucht, die Ausführung von verwaltetem Code fortzusetzen.A thread executing outside managed code is always safe for garbage collection, and its execution continues until it attempts to resume execution of managed code.

Sicherheit

SecurityPermission
für erweiterte Vorgänge für Threads.for advanced operations on threads. Zugeordnete Enumeration: ControlThreadAssociated enumeration: ControlThread.

Gilt für:

Siehe auch