Thread.Suspend Metoda

Definice

Varování

Toto rozhraní API je teď zastaralé.

Buď pozastaví vlákno, nebo pokud je vlákno již pozastaveno, nemá žádný vliv.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)]
public void Suspend ();
member this.Suspend : unit -> unit
Public Sub Suspend ()
Atributy

Výjimky

Pouze .NET Core: Tento člen není podporován..NET Core only: This member is not supported.

Vlákno nebylo spuštěno nebo je mrtvé.The thread has not been started or is dead.

Volající nemá odpovídající SecurityPermission.The caller does not have the appropriate SecurityPermission.

Poznámky

Pokud je vlákno již pozastaveno, tato metoda nemá žádný vliv.If the thread is already suspended, this method has no effect.

Upozornění

Nepoužívejte metody Suspend a Resume k synchronizaci aktivit vláken.Do not use the Suspend and Resume methods to synchronize the activities of threads. Nemáte žádný způsob, jak zjistit, jaký kód je podproces spuštěn, když ho pozastavíte.You have no way of knowing what code a thread is executing when you suspend it. Pokud pozastavíte vlákno během vyhodnocení oprávnění zabezpečení, mohou být zablokovány další podprocesy v AppDomain.If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. Pokud pozastavíte vlákno při provádění konstruktoru třídy, jsou zablokována jiná vlákna v AppDomain, která se pokoušejí tuto třídu použít.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. Zablokování může být velmi snadné.Deadlocks can occur very easily.

Když zavoláte metodu Suspend ve vlákně, systém zaznamená, že bylo vyžádáno pozastavení vlákna a umožňuje spuštění vlákna, dokud nedosáhne bezpečného bodu před tím, než se vlákno projeví.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. Bezpečným bodem pro vlákno je bod v jeho provádění, ve kterém je možné provést uvolňování paměti.A safe point for a thread is a point in its execution at which garbage collection can be performed. Jakmile je dosaženo bezpečného bodu, modul runtime zaručuje, že pozastavené vlákno nebude ve spravovaném kódu dále provádět žádné další zpracování.Once a safe point is reached, the runtime guarantees that the suspended thread will not make any further progress in managed code. Vlákno, které se spouští mimo spravovaný kód, je vždy bezpečné pro uvolňování paměti a jeho spuštění pokračuje, dokud se nepokusí pokračovat v provádění spravovaného kódu.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.

Zabezpečení

SecurityPermission
pro pokročilé operace s vlákny.for advanced operations on threads. Přidružený výčet: ControlThread.Associated enumeration: ControlThread.

Platí pro

Viz také