Thread Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
. . .
}
}
</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
. . .
}
}
</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(Action, String) |
Initialise une nouvelle instance de |
| Thread(Action) |
Initialise une nouvelle instance de |
| 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(IRunnable) |
Alloue un nouvel |
| Thread(String) |
Alloue un nouvel |
| Thread(ThreadGroup, Action, String, Int64) |
Initialise une nouvelle instance de |
| Thread(ThreadGroup, Action, String) |
Initialise une nouvelle instance de |
| Thread(ThreadGroup, Action) |
Initialise une nouvelle instance de |
| Thread(ThreadGroup, IRunnable, String, Int64, Boolean) |
Alloue un nouvel |
| Thread(ThreadGroup, IRunnable, String, Int64) |
Alloue un nouvel |
| Thread(ThreadGroup, IRunnable, String) |
Alloue un nouvel |
| Thread(ThreadGroup, IRunnable) |
Alloue un nouvel |
| Thread(ThreadGroup, String) |
Alloue un nouvel |
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 |
| ContextClassLoader |
Retourne le contexte |
| 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 |
| 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 |
| 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 |
| CurrentThread() |
Retourne une référence à l’objet thread en cours d’exécution. |
| Destroy() |
Obsolète.
Lève |
| 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 |
| 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 |
| Join(Int64) |
Attend au maximum |
| 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 |
| Run() |
Si ce thread a été construit à l’aide d’un objet d’exécution distinct |
| 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 |
| Stop() |
Obsolète.
Lève |
| Stop(Throwable) |
Obsolète.
Lève |
| Suspend() |
Obsolète.
Lève |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |