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

Quels sont les états des threads Java ?

coldplay.xixi
coldplay.xixioriginal
2020-12-15 15:10:0415470parcourir

Statut du fil Java : 1. Nouveau statut Nouveau ; 2. Statut prêt Exécutable ; 3. Statut en cours d'exécution ; 4. Statut bloqué Bloqué ;

Quels sont les états des threads Java ?

L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3, Java version 8.0.

Statut du fil Java :

1. Nouvel état (Nouveau) : Une fois l'objet fil créé, il entre dans le nouvel état.

Par exemple, Thread thread = new Thread().

2. État Prêt (Runnable) : est é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. État bloqué (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. Il existe trois situations de blocage :

  • (01) En attente de blocage - en appelant la méthode wait() du thread, laissez le thread attendre la fin d'un certain travail.

  • (02) Blocage synchrone -- Si le thread ne parvient pas à acquérir le verrou de synchronisation synchronisé (car le verrou est occupé par d'autres threads), il entrera dans l'état de blocage de synchronisation.

  • (03) Autre blocage -- Le thread entrera dans l'état de blocage en appelant sleep() ou join() du thread ou en émettant une requête d'E/S. Lorsque l'état sleep() expire, join() attend que le thread se termine ou expire, ou que le traitement des E/S est terminé, le thread revient à l'état prêt.

5. État de mort (Dead) : Le thread a terminé l'exécution ou a quitté la méthode run() en raison d'une exception, et le thread termine son cycle de vie. .

Recommandations d'apprentissage gratuites associées : Tutoriel de base 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