Le cycle de vie d'un thread est divisé en cinq parties : nouveau, prêt, en cours d'exécution, blocage et mort. Étant donné que le processeur doit basculer entre plusieurs threads, l'état du thread basculera également entre plusieurs exécutions et blocages
[Cours recommandé : Tutoriel Langage C】
Lorsqu'un thread est créé et démarré, il n'entre ni dans l'état d'exécution dès son démarrage, ni ne reste dans exécution tout le temps. Dans le cycle de vie d'un thread, il passe par cinq états : Nouveau, Exécutable, En cours d'exécution, Bloqué et Mort. Surtout après le démarrage d'un thread, il ne peut pas toujours "occuper" le processeur pour s'exécuter seul, le processeur doit donc basculer entre plusieurs threads, de sorte que l'état du thread basculera entre l'exécution et le blocage plusieurs fois.
Cinq états du cycle de vie
Nouveau Thread)
Lors de la création d'une instance de la classe Thread (objet) , ce thread entre dans le nouvel état (non démarré).
Par exemple :
Thread t1=new Thread();
Prêt (exécutable)
Le thread a été démarré et est en attente d'être alloué à la tranche de temps CPU , c'est-à-dire qu'à ce moment, le thread attend dans la file d'attente prête pour obtenir les ressources CPU
Par exemple :
t1.start();
En cours d'exécution (en cours d'exécution)
Le thread obtient des ressources CPU Exécutez la tâche (méthode run()). À ce moment, à moins que ce thread n'abandonne automatiquement les ressources CPU ou qu'un thread avec une priorité plus élevée n'entre, le thread s'exécutera jusqu'à la fin.
Bloqué
Pour une raison quelconque, le thread en cours d'exécution abandonne le processeur et suspend sa propre exécution, c'est-à-dire qu'il entre dans l'état bloqué.
Veille : utilisez la méthode sleep(long t) pour mettre le fil en mode veille. Un thread en veille peut entrer dans l'état prêt une fois le temps spécifié écoulé.
En attente : Appelez la méthode wait(). (Appelez la méthode motivate() pour revenir à l'état prêt)
Bloqué par un autre thread : appelez la méthode suspend(). (Appelez la méthode curriculum vitae() pour reprendre)
Mort (mort)
Lorsque le thread termine son exécution ou est tué par d'autres threads, le thread entre dans l'état de mort .À ce stade, le thread Il n'est plus possible d'entrer dans l'état prêt et d'attendre l'exécution.
Terminaison naturelle : terminez après avoir exécuté la méthode run() normalement
Terminaison anormale : appelez la méthode stop() pour empêcher un thread de s'exécuter
Résumé : ce qui précède est le résumé de cet article Tout le contenu, j'espère qu'il sera utile à tout le monde
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!