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

Quels sont les états des threads en Java ?

小老鼠
小老鼠original
2024-01-16 16:46:49560parcourir

Les états du thread sont : 1. Nouvel état : une fois l'objet thread créé, il entre dans le nouvel état. Par exemple, Thread thread=new Thread(); 2. État prêt : également appelé « état exécutable » 3. État en cours d'exécution : le thread obtient les autorisations du processeur pour s'exécuter 4. État bloqué : le thread abandonne l'utilisation du processeur pour une raison quelconque ; C'est vrai, arrêtez temporairement l'exécution ; 5. État d'attente : vous devez attendre que d'autres threads effectuent certaines actions spécifiques ; 6. État d'attente d'expiration : peut revenir tout seul à l'heure spécifiée ;

Quels sont les états des threads en Java ?

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

Les principaux états du thread Java sont les suivants :

1. Nouvel état (Nouveau) : Une fois l'objet thread créé, il entre dans le nouvel état. Par exemple, Thread thread = new Thread().

2. État Prêt (Runnable) : également appelé « état exécutable ». Une fois l'objet thread créé, d'autres threads appellent la méthode start() de l'objet pour démarrer le thread. Par exemple, thread.start(). Les threads à l'état prêt peuvent être programmés pour être exécutés par le CPU à tout moment.

3. État d'exécution (En cours d'exécution) : Le thread obtient les autorisations CPU pour l'exécution. Il convient de noter qu’un thread ne peut entrer dans l’état d’exécution qu’à partir de l’état prêt.

4. Bloqué : l'état bloqué signifie que le thread abandonne le droit d'utiliser le processeur pour une raison quelconque et arrête temporairement de fonctionner. Jusqu'à ce que le thread entre dans l'état prêt, il a une chance de passer à l'état en cours d'exécution. L'état de blocage peut être divisé dans les types suivants :

a) Blocage synchrone : lorsque le thread en cours d'exécution acquiert le verrou de synchronisation de l'objet et que le verrou de synchronisation est occupé par d'autres threads, la JVM placera le thread dans le pool de verrouillage. .

b) En attente de blocage : le thread en cours d'exécution exécute la méthode wait() et la JVM placera le thread dans le pool d'attente.

c) Autre blocage : si le thread en cours d'exécution exécute la méthode sleep() ou la méthode join(), ou émet une requête d'E/S, la JVM mettra le thread dans un état bloqué.

5. État d'attente (Waiting) : Le thread entrant dans cet état doit attendre que d'autres threads effectuent certaines actions spécifiques (notification ou interruption).

6. Timed_Waiting : Cet état est différent de Waiting dans le sens où il peut revenir tout seul à l'heure spécifiée.

7. Statut Terminé (Terminé) : indique que le thread a terminé son exécution et que les threads du système ont terminé leur exécution et ont été détruits, mais que l'objet Thread est toujours là. System.out.println(t.getState()); } }

Ceux-ci ci-dessus sont plusieurs états de thread en Java. Il convient de noter qu'un thread peut connaître ces états au cours de son cycle de vie, et ces états constituent également le cycle de vie. du fil. Dans le même temps, les règles de transition des différents états sont également très importantes. Comprendre ces règles est très important pour écrire des programmes multithread Java corrects et efficaces.

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