Thread Clase

Definición

Un subproceso es un subproceso de ejecución en un programa.

[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Lang.IRunnable
[<Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)>]
type Thread = class
    inherit Object
    interface IRunnable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herencia
Derivado
Atributos
Implementaciones

Comentarios

Un subproceso es un subproceso de ejecución en un programa. La Java máquina virtual permite que una aplicación tenga varios subprocesos de ejecución ejecutándose simultáneamente.

Cada subproceso tiene prioridad. Los subprocesos con mayor prioridad se ejecutan en preferencia a los subprocesos con menor prioridad. Cada subproceso puede o no estar marcado como demonio. Cuando el código que se ejecuta en algún subproceso crea un nuevo Thread objeto, el nuevo subproceso tiene su prioridad establecida inicialmente igual a la prioridad del subproceso de creación y es un subproceso de demonio si y solo si el subproceso de creación es un demonio.

Cuando se inicia una Java máquina virtual, normalmente hay un único subproceso que no es de demonio (que normalmente llama al método denominado main de alguna clase designada). La máquina virtual de Java continúa ejecutando subprocesos hasta que se produzca cualquiera de las siguientes acciones: <ul><li>Se exit ha llamado al método de clase Runtime y el administrador de seguridad ha permitido que se realice la operación de salida. <li>Todos los subprocesos que no son subprocesos de demonio han muerto, ya sea devolviendo de la llamada al run método o iniciando una excepción que se propaga más allá del run método. </ul>

Hay dos maneras de crear un nuevo subproceso de ejecución. Uno es declarar una clase para que sea una subclase de Thread. Esta subclase debe invalidar el run método de la clase Thread. A continuación, se puede asignar e iniciar una instancia de la subclase. Por ejemplo, un subproceso que calcula primos mayores que un valor indicado podría escribirse de la siguiente manera: <hr><blockquote>

class PrimeThread extends Thread {
                    long minPrime;
                    PrimeThread(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote><hr>

A continuación, el código siguiente crearía un subproceso e iniciaría su ejecución: <blockquote>

PrimeThread p = new PrimeThread(143);
                p.start();

</blockquote>

La otra manera de crear un subproceso es declarar una clase que implemente la Runnable interfaz. A continuación, esa clase implementa el run método . A continuación, se puede asignar una instancia de la clase , que se pasa como argumento al crear Threade iniciar. El mismo ejemplo de este otro estilo tiene el siguiente aspecto: <hr><blockquote>

class PrimeRun implements Runnable {
                    long minPrime;
                    PrimeRun(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote><hr>

A continuación, el código siguiente crearía un subproceso e iniciaría su ejecución: <blockquote>

PrimeRun p = new PrimeRun(143);
                new Thread(p).start();

</blockquote>

Cada subproceso tiene un nombre para fines de identificación. Es posible que más de un subproceso tenga el mismo nombre. Si no se especifica un nombre cuando se crea un subproceso, se genera un nuevo nombre para él.

A menos que se indique lo contrario, pasar un null argumento a un constructor o método de esta clase hará que se produzca una NullPointerException excepción .

Agregado en la versión 1.0.

Java documentación para java.lang.Thread.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
Thread()

Asigna un nuevo Thread objeto.

Thread(Action, String)

Inicializa una nueva instancia de Thread.

Thread(Action)

Inicializa una nueva instancia de Thread.

Thread(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Thread(IRunnable, String)

Asigna un nuevo Thread objeto.

Thread(IRunnable)

Asigna un nuevo Thread objeto.

Thread(String)

Asigna un nuevo Thread objeto.

Thread(ThreadGroup, Action, String, Int64)

Inicializa una nueva instancia de Thread.

Thread(ThreadGroup, Action, String)

Inicializa una nueva instancia de Thread.

Thread(ThreadGroup, Action)

Inicializa una nueva instancia de Thread.

Thread(ThreadGroup, IRunnable, String, Int64, Boolean)

Asigna un nuevo Thread objeto para que tenga target como objeto de ejecución, tiene el especificado name como su nombre, pertenece al grupo de subprocesos al que hace referencia group, tiene los valores iniciales especificados stackSizey hereda los valores iniciales de las variables locales de subproceso heredables InheritableThreadLocal si inheritThreadLocals es true.

Thread(ThreadGroup, IRunnable, String, Int64)

Asigna un nuevo Thread objeto para que tenga target como objeto de ejecución, tiene el especificado name como su nombre y pertenece al grupo de subprocesos al groupque hace referencia y tiene el tamaño de pila especificado.

Thread(ThreadGroup, IRunnable, String)

Asigna un nuevo Thread objeto para que tenga target como objeto de ejecución, tenga el especificado name como su nombre y pertenezca al grupo de subprocesos al groupque hace referencia .

Thread(ThreadGroup, IRunnable)

Asigna un nuevo Thread objeto.

Thread(ThreadGroup, String)

Asigna un nuevo Thread objeto.

Campos

Nombre Description
MaxPriority

Prioridad máxima que puede tener un subproceso.

MinPriority

Prioridad mínima que puede tener un subproceso.

NormPriority

Prioridad predeterminada que se asigna a un subproceso.

Propiedades

Nombre Description
AllStackTraces

Devuelve un mapa de seguimientos de pila para todos los subprocesos activos.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
ContextClassLoader

Devuelve el contexto de este subproceso ClassLoader . -o bien- Establece el elemento ClassLoader de contexto para este subproceso.

Daemon

Comprueba si este subproceso es un subproceso de demonio.

DefaultUncaughtExceptionHandler

Devuelve el controlador predeterminado invocado cuando un subproceso finaliza abruptamente debido a una excepción no detectada. -o bien- Establezca el controlador predeterminado invocado cuando un subproceso finaliza abruptamente debido a una excepción no detectada y no se ha definido ningún otro controlador para ese subproceso.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
Id

Devuelve el identificador de este subproceso.

IsAlive

Comprueba si este subproceso está activo.

IsInterrupted

Comprueba si se ha interrumpido este subproceso.

IsVirtual

Devuelve true si este subproceso es un subproceso virtual.

JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
JniPeerMembers

Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel.

Name

Devuelve el nombre de este subproceso. -o bien- Cambia el nombre de este subproceso para que sea igual al argumento name.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
Priority

Devuelve la prioridad de este subproceso.

ThreadGroup

Devuelve el grupo de subprocesos al que pertenece este subproceso.

ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

UncaughtExceptionHandler

Devuelve el controlador invocado cuando este subproceso finaliza abruptamente debido a una excepción no detectada. -o bien- Establezca el controlador invocado cuando este subproceso finaliza abruptamente debido a una excepción no detectada.

Métodos

Nombre Description
ActiveCount()

Devuelve una estimación del número de subprocesos activos en java del subproceso actual.

CheckAccess()

Determina si el subproceso actualmente en ejecución tiene permiso para modificar este subproceso.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
CountStackFrames()
Obsoletos.

Lanza UnsupportedOperationException.

CurrentThread()

Devuelve una referencia al objeto de subproceso que se está ejecutando actualmente.

Destroy()
Obsoletos.

Lanza UnsupportedOperationException.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
DumpStack()

Imprime un seguimiento de pila del subproceso actual en el flujo de error estándar.

Enumerate(Thread[])

Copia en la matriz especificada cada subproceso activo del grupo de subprocesos del subproceso actual y sus subgrupos.

Equals(Object)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetStackTrace()

Devuelve una matriz de elementos de seguimiento de pila que representan el volcado de pila de este subproceso.

GetState()

Devuelve el estado de este subproceso.

HoldsLock(Object)

Devuelve true si y solo si el subproceso actual contiene el bloqueo del monitor en el objeto especificado.

Interrupt()

Interrumpe este subproceso.

Interrupted()

Comprueba si se ha interrumpido el subproceso actual.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Join()

Espera a que este subproceso muera.

Join(Int64, Int32)

Espera como máximo millis milisegundos más nanos nanosegundos para que este subproceso muera.

Join(Int64)

Espera como máximo millis milisegundos para que este subproceso muera.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
OnSpinWait()

Indica que el autor de la llamada no puede avanzar momentáneamente, hasta que se produzca una o varias acciones por parte de otras actividades.

Resume()
Obsoletos.

Lanza UnsupportedOperationException.

Run()

Si este subproceso se construyó mediante un objeto de ejecución independiente Runnable , Runnable se llama al método del run objeto; de lo contrario, este método no hace nada y devuelve.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
Sleep(Int64, Int32)

Hace que el subproceso que se ejecuta actualmente se suspenda (deje de ejecutarse temporalmente) para el número especificado de milisegundos más el número especificado de nanosegundos, sujeto a la precisión y precisión de los temporizadores y programadores del sistema.

Sleep(Int64)

Hace que el subproceso que se está ejecutando actualmente se suspenda (deje de ejecutarse temporalmente) para el número especificado de milisegundos, sujeto a la precisión y precisión de los temporizadores y programadores del sistema.

Start()

Hace que este subproceso inicie la ejecución; el Java máquina virtual llama al run método de este subproceso.

Stop()
Obsoletos.

Lanza UnsupportedOperationException.

Stop(Throwable)
Obsoletos.

Lanza UnsupportedOperationException.

Suspend()
Obsoletos.

Lanza UnsupportedOperationException.

ThreadId()

Devuelve el identificador de este subproceso.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Yield()

Sugerencia al programador de que el subproceso actual está dispuesto a producir su uso actual de un procesador.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un subproceso es un subproceso de ejecución en un programa.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un subproceso es un subproceso de ejecución en un programa.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un subproceso es un subproceso de ejecución en un programa.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a