Langage

Thread Classe

Définition

Un thread est un thread d’exécution dans un programme.

[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
Héritage
Dérivé
Attributs
Implémente

Remarques

Un thread est un thread d’exécution dans un programme. La machine virtuelle Java permet à une application d’avoir plusieurs threads d’exécution en cours d’exécution simultanément.

Chaque thread a une priorité. Les threads avec une priorité plus élevée sont exécutés en préférence pour les threads avec une priorité inférieure. Chaque thread peut ou non être marqué comme démon. Lorsque le code exécuté dans un thread crée un objet Thread , le nouveau thread a sa priorité initialement définie sur la priorité du thread de création et est un thread démon si et uniquement si le thread de création est un démon.

Lorsqu’une machine virtuelle Java démarre, il existe généralement un seul thread non démon (qui appelle généralement la méthode nommée main d’une classe désignée). La machine virtuelle Java continue d’exécuter des threads jusqu’à ce que l’une des opérations suivantes se produise : <ul><li>La exit méthode de classe Runtime a été appelée et le gestionnaire de sécurité a autorisé l’opération de sortie à se produire. <Li>Tous les threads qui ne sont pas des threads démon sont morts, soit en retournant de l’appel à la run méthode, soit en lève une exception qui se propage au-delà de la run méthode. </ul>

Il existe deux façons de créer un thread d’exécution. L’une consiste à déclarer une classe comme sous-classe de Thread. Cette sous-classe doit remplacer la run méthode de classe Thread. Une instance de la sous-classe peut ensuite être allouée et démarrée. Par exemple, un thread qui calcule les primes supérieures à une valeur indiquée peut être écrit comme suit : <blocquote hr><>

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>

Le code suivant crée ensuite un thread et le démarre en cours d’exécution : <blockquote>

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

</blockquote>

L’autre moyen de créer un thread consiste à déclarer une classe qui implémente l’interface Runnable . Cette classe implémente ensuite la run méthode. Une instance de la classe peut ensuite être allouée, passée en tant qu’argument lors de la création Threadet démarrée. Le même exemple dans cet autre style ressemble à ce qui suit : <blocquote hr><>

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>

Le code suivant crée ensuite un thread et le démarre en cours d’exécution : <blockquote>

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

</blockquote>

Chaque thread a un nom à des fins d’identification. Plusieurs threads peuvent avoir le même nom. Si un nom n’est pas spécifié lors de la création d’un thread, un nouveau nom est généré pour celui-ci.

Sauf indication contraire, le passage d’un null argument à un constructeur ou à une méthode dans cette classe entraîne la levée d’un NullPointerException argument.

Ajouté dans la version 1.0.

Java documentation pour java.lang.Thread.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
Thread()

Alloue un nouvel Thread objet.

Thread(Action, String)

Initialise une nouvelle instance de Thread.

Thread(Action)

Initialise une nouvelle instance de Thread.

Thread(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Thread(IRunnable, String)

Alloue un nouvel Thread objet.

Thread(IRunnable)

Alloue un nouvel Thread objet.

Thread(String)

Alloue un nouvel Thread objet.

Thread(ThreadGroup, Action, String, Int64)

Initialise une nouvelle instance de Thread.

Thread(ThreadGroup, Action, String)

Initialise une nouvelle instance de Thread.

Thread(ThreadGroup, Action)

Initialise une nouvelle instance de Thread.

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

Alloue un nouvel Thread objet de sorte qu’il ait target comme objet d’exécution, a le nom spécifié name , appartient au groupe de threads référencé par group, a la valeur spécifiée stackSizeet hérite des valeurs initiales pour les variables inheritThreadLocals thread-local héritantes InheritableThreadLocal si c’est truele cas .

Thread(ThreadGroup, IRunnable, String, Int64)

Alloue un nouvel Thread objet de sorte qu’il ait target comme objet d’exécution, a le nom spécifié name et appartient au groupe de threads référencé par group, et a la taille de pile spécifiée.

Thread(ThreadGroup, IRunnable, String)

Alloue un nouvel Thread objet de sorte qu’il ait target comme objet d’exécution, a le nom spécifié name et appartient au groupe de threads référencé par group.

Thread(ThreadGroup, IRunnable)

Alloue un nouvel Thread objet.

Thread(ThreadGroup, String)

Alloue un nouvel Thread objet.

Champs

Nom Description
MaxPriority

Priorité maximale qu’un thread peut avoir.

MinPriority

Priorité minimale qu’un thread peut avoir.

NormPriority

Priorité par défaut affectée à un thread.

Propriétés

Nom Description
AllStackTraces

Retourne une carte des traces de pile pour tous les threads en direct.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
ContextClassLoader

Retourne le contexte ClassLoader de ce thread. -ou- Définit le classLoader de contexte pour ce thread.

Daemon

Teste si ce thread est un thread démon.

DefaultUncaughtExceptionHandler

Retourne le gestionnaire par défaut appelé lorsqu’un thread se termine brusquement en raison d’une exception non interceptée. -ou- Définissez le gestionnaire par défaut appelé lorsqu’un thread se termine brusquement en raison d’une exception non interceptée, et aucun autre gestionnaire n’a été défini pour ce thread.

Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
Id

Retourne l’identificateur de ce thread.

IsAlive

Teste si ce thread est actif.

IsInterrupted

Teste si ce thread a été interrompu.

IsVirtual

Retourne true si ce thread est un thread virtuel.

JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java.

Name

Retourne le nom de ce thread. -ou- Modifie le nom de ce thread pour qu’il soit égal à l’argument name.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
Priority

Retourne la priorité de ce thread.

ThreadGroup

Retourne le groupe de threads auquel appartient ce thread.

ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

UncaughtExceptionHandler

Retourne le gestionnaire appelé lorsque ce thread se termine brusquement en raison d’une exception non interceptée. -ou- Définissez le gestionnaire appelé lorsque ce thread se termine brusquement en raison d’une exception non interceptée.

Méthodes

Nom Description
ActiveCount()

Retourne une estimation du nombre de threads actifs dans le java du thread actuel.

CheckAccess()

Détermine si le thread en cours d’exécution est autorisé à modifier ce thread.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
CountStackFrames()
Obsolète.

Lève UnsupportedOperationException.

CurrentThread()

Retourne une référence à l’objet thread en cours d’exécution.

Destroy()
Obsolète.

Lève UnsupportedOperationException.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
DumpStack()

Imprime une trace de pile du thread actuel dans le flux d’erreur standard.

Enumerate(Thread[])

Copie dans le tableau spécifié chaque thread actif dans le groupe de threads du thread actuel et ses sous-groupes.

Equals(Object)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
GetStackTrace()

Retourne un tableau d’éléments de trace de pile représentant le vidage de pile de ce thread.

GetState()

Retourne l’état de ce thread.

HoldsLock(Object)

Retourne true si et uniquement si le thread actuel contient le verrou du moniteur sur l’objet spécifié.

Interrupt()

Interrompt ce thread.

Interrupted()

Teste si le thread actuel a été interrompu.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Join()

Attend que ce thread moure.

Join(Int64, Int32)

Attend au maximum millis millisecondes plus nanos les nanosecondes pour que ce thread soit mort.

Join(Int64)

Attend au maximum millis millisecondes que ce thread soit mort.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
OnSpinWait()

Indique que l’appelant n’est pas en mesure de progresser momentanément, jusqu’à ce que l’occurrence d’une ou plusieurs actions se produisent dans la partie d’autres activités.

Resume()
Obsolète.

Lève UnsupportedOperationException.

Run()

Si ce thread a été construit à l’aide d’un objet d’exécution distinctRunnable, la méthode de Runnable cet run objet est appelée ; sinon, cette méthode ne fait rien et ne retourne rien.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
Sleep(Int64, Int32)

Provoque le sommeil du thread en cours d’exécution (arrêt temporaire de l’exécution) pour le nombre spécifié de millisecondes plus le nombre spécifié de nanosecondes, soumis à la précision et à la précision des minuteurs système et des planificateurs.

Sleep(Int64)

Provoque le mise en veille du thread en cours d’exécution (arrêt temporaire de l’exécution) pour le nombre spécifié de millisecondes, sous réserve de la précision et de la précision des minuteurs système et des planificateurs.

Start()

Provoque le début de l’exécution de ce thread ; la machine virtuelle Java appelle la run méthode de ce thread.

Stop()
Obsolète.

Lève UnsupportedOperationException.

Stop(Throwable)
Obsolète.

Lève UnsupportedOperationException.

Suspend()
Obsolète.

Lève UnsupportedOperationException.

ThreadId()

Retourne l’identificateur de ce thread.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Yield()

Indicateur du planificateur indiquant que le thread actuel est prêt à produire son utilisation actuelle d’un processeur.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un thread est un thread d’exécution dans un programme.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un thread est un thread d’exécution dans un programme.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Un thread est un thread d’exécution dans un programme.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à