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.Interop.IJavaPeerable, 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
Thread
Derivado
Atributos
Implementaciones

Comentarios

Un subproceso es un subproceso de ejecución en un programa. La máquina virtual Java 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 para 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 máquina virtual Java, 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 Java sigue ejecutando subprocesos hasta que se produzca una de las siguientes acciones: <ul><li>El exit método de clase Runtime se ha llamado y el administrador de seguridad ha permitido que se produzca 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 y lo iniciaría en ejecución: <blockquote>

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

</Blockquote>

La otra manera de crear un subproceso es declarar una clase que implementa 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 y lo iniciaría en 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, si se pasa un null argumento a un constructor o método de esta clase, se producirá una NullPointerException excepción .

Se ha agregado en la versión 1.0.

Documentación de Java para java.lang.Thread.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

Thread()

Asigna un nuevo Thread objeto.

Thread(Action)

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

Thread(Action, String)

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

Thread(IntPtr, JniHandleOwnership)

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

Thread(IRunnable)

Asigna un nuevo Thread objeto.

Thread(IRunnable, String)

Asigna un nuevo Thread objeto.

Thread(String)

Asigna un nuevo Thread objeto.

Thread(ThreadGroup, Action)

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

Thread(ThreadGroup, Action, String)

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

Thread(ThreadGroup, Action, String, Int64)

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

Thread(ThreadGroup, IRunnable)

Asigna un nuevo Thread objeto.

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, 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, 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, String)

Asigna un nuevo Thread objeto.

Campos

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

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 ClassLoader de este subproceso. -o bien- Establece el classLoader de contexto para este subproceso.

Daemon

Comprueba si este subproceso es un subproceso de demonio. -o bien- Marca este subproceso como un subproceso de demonio #isDaemon o un subproceso de usuario.

DefaultUncaughtExceptionHandler

Devuelve el controlador predeterminado invocado cuando un subproceso finaliza repentinamente 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 este subproceso se ha interrumpido.

JniIdentityHashCode

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

(Heredado de Object)
JniPeerMembers

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

Name

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

PeerReference

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

(Heredado de Object)
Priority

Devuelve la prioridad de este subproceso. -o bien- Cambia 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 repentinamente debido a una excepción no detectada. -o bien- Establezca el controlador invocado cuando este subproceso finaliza repentinamente debido a una excepción no detectada.

Métodos

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)
CountStackFrames()
Obsoletos.

Cuenta el número de marcos de pila de este subproceso.

CurrentThread()

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

Destroy()
Obsoletos.

Produce UnsupportedOperationException.

Dispose()

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

(Heredado de Object)
Dispose(Boolean)

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

(Heredado de Object)
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)

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

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del 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 de 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)

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

Join(Int64, Int32)

Espera como máximo millis milisegundos más nanos nanosegundos 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 produzcan una o varias acciones por parte de otras actividades.

Resume()
Obsoletos.

Produce UnsupportedOperationException.

Run()

Si este subproceso se construyó con 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)
Sleep(Int64)

Hace que el subproceso que se ejecuta 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.

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.

Start()

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

Stop()
Obsoletos.

Produce UnsupportedOperationException.

Stop(Throwable)
Obsoletos.

Produce UnsupportedOperationException.

Suspend()
Obsoletos.

Produce UnsupportedOperationException.

ToArray<T>()

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

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

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

(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)

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, 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)
Yield()

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

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

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

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Heredado de Object)
IJavaPeerable.Finalized()

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

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

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

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Heredado de Object)

Métodos de extensión

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.

GetJniTypeName(IJavaPeerable)

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

Se aplica a