Thread.Suspend Método

Definición

Advertencia

Esta API está ya obsoleta.

Suspende el subproceso o, si este ya se ha suspendido, no tiene efecto alguno.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 ()
Atributos

Excepciones

Solo .NET Core: Este miembro no se admite..NET Core only: This member is not supported.

No se ha iniciado el subproceso o está inactivoThe thread has not been started or is dead.

El autor de la llamada no dispone del SecurityPermission adecuadoThe caller does not have the appropriate SecurityPermission.

Comentarios

Si el subproceso ya está suspendido, este método no tiene ningún efecto.If the thread is already suspended, this method has no effect.

Precaución

No utilice los métodos Suspend y Resume para sincronizar las actividades de los subprocesos.Do not use the Suspend and Resume methods to synchronize the activities of threads. No tiene forma de saber qué código está ejecutando un subproceso cuando lo suspende.You have no way of knowing what code a thread is executing when you suspend it. Si suspende un subproceso mientras mantiene bloqueos durante una evaluación de permisos de seguridad, es posible que otros subprocesos del AppDomain estén bloqueados.If you suspend a thread while it holds locks during a security permission evaluation, other threads in the AppDomain might be blocked. Si suspende un subproceso mientras está ejecutando un constructor de clase, se bloquearán otros subprocesos del AppDomain que intenten usar esa clase.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. Los interbloqueos pueden producirse muy fácilmente.Deadlocks can occur very easily.

Cuando se llama al método Suspend en un subproceso, el sistema anota que se ha solicitado una suspensión de subprocesos y permite que el subproceso se ejecute hasta que alcanza un punto seguro antes de suspender el subproceso.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. Un punto seguro de un subproceso es un punto en su ejecución en que se puede ejecutar la recolección de elementos no utilizados.A safe point for a thread is a point in its execution at which garbage collection can be performed. Una vez que se alcanza un punto seguro, el tiempo de ejecución garantiza que el subproceso suspendido no realizará ningún progreso adicional en el código administrado.Once a safe point is reached, the runtime guarantees that the suspended thread will not make any further progress in managed code. 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.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.

Seguridad

SecurityPermission
para operaciones avanzadas en subprocesos.for advanced operations on threads. Enumeración asociada: ControlThread.Associated enumeration: ControlThread.

Se aplica a

Consulte también: