Thread.Suspend Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
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
Precaución
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
Suspende el subproceso o si el subproceso ya está suspendido, no tiene ningún efecto.
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
Excepciones
Solo .NET Core y .NET 5+: en todos los casos.
El subproceso no se ha iniciado o está inactivo.
El autor de la llamada no tiene el adecuado SecurityPermission.
Comentarios
Si el subproceso ya está suspendido, este método no tiene ningún efecto.
Caution
No use los Suspend métodos y Resume para sincronizar las actividades de los subprocesos. No tiene forma de saber qué código ejecuta un subproceso al suspenderlo. Si suspende un subproceso mientras contiene bloqueos durante una evaluación de permisos de seguridad, es posible que se bloqueen otros subprocesos de .AppDomain Si suspende un subproceso mientras ejecuta un constructor de clase, se bloquean otros subprocesos de AppDomain ese intento de usar esa clase. Los interbloqueos pueden producirse muy fácilmente.
Cuando se llama al Suspend método en un subproceso, el sistema observa que se ha solicitado una suspensión de subproceso y permite que el subproceso se ejecute hasta que llegue a un punto seguro antes de suspender realmente el subproceso. Un punto seguro para un subproceso es un punto en su ejecución en el que se puede realizar la recolección de elementos no utilizados. Una vez alcanzado un punto seguro, el tiempo de ejecución garantiza que el subproceso suspendido no realizará ningún progreso adicional en el código administrado. Un subproceso que se ejecuta fuera del código administrado siempre es seguro para la recolección de elementos no utilizados y su ejecución continúa hasta que intenta reanudar la ejecución del código administrado.