Compartilhar via


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. https://go.microsoft.com/fwlink/?linkid=14202

Cuidado

Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.

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

Suspende o thread ou, se o thread já está suspenso, não tem efeito.

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 ();
[System.Obsolete("Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.")]
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 ();
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)>]
member this.Suspend : unit -> unit
[<System.Obsolete("Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.")>]
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
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á inativo.

O chamador não tem o SecurityPermission apropriado.

Comentários

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

Cuidado

Não use os Suspend métodos e 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 na AppDomain 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é que ele atinja um ponto seguro antes de realmente suspender o thread. Um ponto seguro de um thread é um ponto da execução em que a coleta de lixo pode ser executada. Quando um ponto seguro é alcançado, o runtime garante que o thread suspenso não fará mais progresso no código gerenciado. Um thread que é executado fora do código gerenciado está sempre seguro para a coleta de lixo e sua execução continua até que ele tente retomar a execução do código gerenciado.

Aplica-se a

Confira também