Maison  >  Article  >  Java  >  Quels sont les différents états des threads Java ?

Quels sont les différents états des threads Java ?

王林
王林original
2020-05-14 15:53:012652parcourir

Quels sont les différents états des threads Java ?

Dans le cycle d'exécution du thread Java, il y a les états suivants :

1 NOUVEAU

Cet état. is Cela signifie que le fil de discussion vient d'être créé et n'a pas encore été démarré.

2. RUNNABLE

indique que le thread fonctionne normalement. Bien sûr, il peut y avoir des calculs fastidieux/des opérations d'attente d'E/S/un changement de tranche de temps CPU, etc. Cette attente qui se produit dans l'état concerne généralement d'autres ressources système, pas de verrous, de veille, etc.

(Tutoriel vidéo recommandé : vidéo Java)

3. BLOQUÉ

Dans cet état, plusieurs threads sont en cours d'exécution. sont des scénarios d'opérations synchrones, comme l'attente de la libération d'exécution du bloc synchronisé d'un autre thread, ou quelqu'un d'autre appelant la méthode wait() dans un bloc synchronisé réentrant, ce qui signifie que le thread attend d'entrer dans la section critique.

4. WAITING

Cet état signifie qu'une fois que le thread possède un certain verrou, il appelle sa méthode d'attente et attend que d'autres threads/propriétaires de verrous appellent notify / notifyAll une fois, le thread peut passer à l'opération suivante.

Ici, nous devons faire la différence entre BLOCKED et WATING. L'un attend l'entrée en dehors du point critique et l'autre attend que les autres le notifient à l'intérieur du point de compréhension. rejoindre un autre thread, il entrera également dans l'état WAITING et attendra la fin de l'exécution du thread qu'il a rejoint.

5. TIMED_WAITING

Cet état est limité (délai) WAITING, qui se produit généralement lorsque wait(long), join(long), etc. Une fois qu'un autre thread est en veille, il entrera également dans l'état TIMED_WAITING.

6. TERMINATED

Cet état indique que la méthode d'exécution du thread a été exécutée, ce qui équivaut fondamentalement à la mort (si le thread est maintenu de manière persistante à ce moment-là). temps, ne peut pas être recyclé).

Tutoriel recommandé : Programme d'entrée Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn