Thread.Suspend Método

Definição

Cuidado

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

Cuidado

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

Suspender o thread ou, se o thread já estiver suspenso, não terá efeito.

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 ()
Atributos

Exceções

Somente .NET Core e .NET 5+: em todos os casos.

O thread não foi iniciado ou está morto.

O chamador não tem o apropriado SecurityPermission.

Comentários

Se o thread já estiver suspenso, esse método não terá efeito.

Caution

Não use o Suspend método e o método Resume para sincronizar as atividades dos threads. Você não tem como saber qual código um thread está executando quando o suspende. Se você suspender um thread enquanto ele mantém bloqueios durante uma avaliação de permissão de segurança, outros threads no AppDomain poderão ser bloqueados. Se você suspender um thread enquanto ele estiver executando um construtor de classe, outros threads AppDomain nessa tentativa de usar essa classe serão bloqueados. Deadlocks podem ocorrer muito facilmente.

Quando você chama o Suspend método em um thread, o sistema observa que uma suspensão de thread foi solicitada e permite que o thread seja executado até chegar a um ponto seguro antes de realmente suspender o thread. Um ponto seguro para um thread é um ponto em sua execução no qual a coleta de lixo pode ser executada. Depois que um ponto de segurança é atingido, o runtime garante que o thread suspenso não fará nenhum progresso adicional no código gerenciado. Um thread em execução fora do código gerenciado é sempre seguro para coleta de lixo e sua execução continua até tentar retomar a execução do código gerenciado.

Aplica-se a

Confira também