Java >> Tutoriel Java >  >> Java

Expliquer le cycle de vie d'un thread en Java

Cycle de vie des threads (différents états d'un thread)

Il y a peu d'états du cycle de vie des threads ,

  1. Nouvel État
  2. État prêt
  3. État d'exécution
  4. État mort
  5. État d'attente
  6. État de veille
  7. État suspendu

Nous étudierons tous les états décrits ci-dessus :

1) Nouvel état

Lorsque le fil est instancié ou créé, le fil sera dans un nouvel état.

Syntaxe :

NewThread nt = new NewThread();

2) État prêt

Lorsque nous appelons la méthode start () sur l'objet thread, notre thread sera à l'état prêt (c'est-à-dire prêt à entrer dans l'état d'exécution).

Syntaxe :

nt.start();

3) État d'exécution

Ici, nous discutons d'une chose avant d'entrer dans l'état de fonctionnement. Quel est le rôle du planificateur de threads Le planificateur de threads alloue le processeur aux threads en attente en fonction de la priorité. Notre thread sera en cours d'exécution lorsque le planificateur de threads allouera un processeur au thread signifie que le thread aura une chance de s'exécuter.

4) État mort ou terminé

Lorsque la méthode run() termine son exécution, notre thread sera à l'état mort ou dernier état.

5) En cours d'exécution → Prêt

Si un thread en cours d'exécution appelle la méthode yield(), notre thread en cours d'exécution sera en cours d'exécution à l'état prêt car yield() arrête de s'exécuter et donne une chance à un autre thread en attente.

Syntaxe :

Thread.yield();

6) État d'attente

Si un thread en cours d'exécution appelle la méthode join(), notre thread sera en attente car join() attend jusqu'à ce qu'il termine un autre thread. Si le fil sort de l'état (en attente de prêt), il y a deux conditions :

  1. Si le fil d'attente a été interrompu.
  2. Si le délai expire.

Syntaxe :

obj.join();

7) État de veille

Si un thread en cours d'exécution appelle la méthode sleep(), notre thread entrera en état de veille et il y a peu de cas où le thread endormi sort de (dormir à l'état prêt):

  1. Si le délai expire.
  2. Si le fil en veille a été interrompu.

Syntaxe :

Thread.sleep();

7) État suspendu

Lorsqu'un thread en cours d'exécution appelle la méthode suspend(), notre thread en cours d'exécution sera dans un état suspendu et le thread suspendu sortira dans un état prêt en appelant la méthode resume().

Syntaxe :

obj.suspend();

En savoir plus...

  1. Comment créer des threads Java (exemples Java pour créer des threads) ?
  2. Synchronisation des threads en Java avec exemple.
  3. Programme Java pour montrer un exemple de thread.
  4. Programme Java pour rejoindre les discussions.

Balise Java