ThreadInterruptedException Clase
TOC
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

ThreadInterruptedException (Clase)

 

La excepción que se produce cuando un Thread se interrumpe mientras se encuentra en estado de espera.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Exception
    System.SystemException
      System.Threading.ThreadInterruptedException

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ThreadInterruptedException : SystemException

NombreDescripción
System_CAPS_pubmethodThreadInterruptedException()

Inicializa una nueva instancia de la clase ThreadInterruptedException con propiedades predeterminadas.

System_CAPS_protmethodThreadInterruptedException(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase ThreadInterruptedException con datos serializados.

System_CAPS_pubmethodThreadInterruptedException(String)

Inicializa una nueva instancia de la clase ThreadInterruptedException con el mensaje de error especificado.

System_CAPS_pubmethodThreadInterruptedException(String, Exception)

Inicializa una nueva instancia de la clase ThreadInterruptedException con el mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción.

NombreDescripción
System_CAPS_pubpropertyData

Obtiene una colección de pares clave-valor que proporcionan más información definida por el usuario sobre la excepción.(Heredado de Exception.)

System_CAPS_pubpropertyHelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.(Heredado de Exception.)

System_CAPS_pubpropertyHResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.(Heredado de Exception.)

System_CAPS_pubpropertyInnerException

Obtiene la instancia Exception que produjo la excepción actual.(Heredado de Exception.)

System_CAPS_pubpropertyMessage

Obtiene un mensaje que describe la excepción actual.(Heredado de Exception.)

System_CAPS_pubpropertySource

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.(Heredado de Exception.)

System_CAPS_pubpropertyStackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.(Heredado de Exception.)

System_CAPS_pubpropertyTargetSite

Obtiene el método que produjo la excepción actual.(Heredado de Exception.)

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object.)

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object.)

System_CAPS_pubmethodGetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.(Heredado de Exception.)

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Cuando se invalida en una clase derivada, establece SerializationInfo con información sobre la excepción.(Heredado de Exception.)

System_CAPS_pubmethodGetType()

Obtiene el tipo en tiempo de ejecución de la instancia actual.(Heredado de Exception.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object.)

System_CAPS_pubmethodToString()

Crea y devuelve una representación de cadena de la excepción actual.(Heredado de Exception.)

NombreDescripción
System_CAPS_proteventSerializeObjectState

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.(Heredado de Exception.)

Después de crea un subproceso está en uno o más ThreadState Estados hasta que se destruye. Llamar a Interrupt cuando un subproceso está en el WaitSleepJoin hará que el estado de un ThreadInterruptedException se produce en el subproceso de destino. Si el subproceso no está en el WaitSleepJoin de estado, no se produce la excepción hasta que el subproceso entre en ese estado. Si el subproceso nunca se bloquea, puede finalizar sin ser interrumpido.

ThreadInterruptedException usa el HRESULT COR_E_THREADINTERRUPTED, que tiene el valor 0 x 80131519.

Para obtener una lista de valores de propiedad iniciales de una instancia de ThreadInterruptedException, consulte el ThreadInterruptedException constructores.

En el ejemplo de código siguiente se muestra el comportamiento de un subproceso en ejecución cuando se interrumpe y queda posteriormente bloqueado.

using System;
using System.Security.Permissions;
using System.Threading;

class ThreadInterrupt
{
    static void Main()
    {
        StayAwake stayAwake = new StayAwake();
        Thread newThread = 
            new Thread(new ThreadStart(stayAwake.ThreadMethod));
        newThread.Start();

        // The following line causes an exception to be thrown 
        // in ThreadMethod if newThread is currently blocked
        // or becomes blocked in the future.
        newThread.Interrupt();
        Console.WriteLine("Main thread calls Interrupt on newThread.");

        // Tell newThread to go to sleep.
        stayAwake.SleepSwitch = true;

        // Wait for newThread to end.
        newThread.Join();
    }
}

class StayAwake
{
    bool sleepSwitch = false;

    public bool SleepSwitch
    {
        set{ sleepSwitch = value; }
    }

    public StayAwake(){}

    public void ThreadMethod()
    {
        Console.WriteLine("newThread is executing ThreadMethod.");
        while(!sleepSwitch)
        {
            // Use SpinWait instead of Sleep to demonstrate the 
            // effect of calling Interrupt on a running thread.
            Thread.SpinWait(10000000);
        }
        try
        {
            Console.WriteLine("newThread going to sleep.");

            // When newThread goes to sleep, it is immediately 
            // woken up by a ThreadInterruptedException.
            Thread.Sleep(Timeout.Infinite);
        }
        catch(ThreadInterruptedException e)
        {
            Console.WriteLine("newThread cannot go to sleep - " +
                "interrupted by main thread.");
        }
    }
}

.NET Framework
Disponible desde 1.1

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Volver al principio
Mostrar:
© 2016 Microsoft