Department of Mathematics and Computer Science

www.univ-soukahras.dz/en/dept/mi

Module: Techniques objet avancées

  1. Information
  2. Questions

Qu'est qu'un thread démons ?

1 votes

En Java, si un thread A crée et lance un thread B, le thread A ne pourra se terminer que lorsque le thread B aura aussi terminé son exécution , mais le cas qui est de temp en temp indésirable c'et que le thread enfant B poursuit son éxcution malgré que le thread parent A a terminé deja son exécution , c'est pourquoi il existe un moyen simple de changer ce comportement qui s'appel : les threads "démons", donc pour résourde ce probléme il suffit de declarer le thread fils  B comme démons comme ça :

                              B.setDaemon(true);

ce qui signifie a tous simplement que le thread B a s'arrête automatiquement lorsque le thread qui l'a créé se termine.

Asked on 11:30, Tuesday 17 May 2016 By mohammed tebib (377 points)
In Techniques objet avancées


answers (5)




Answer (1)

2 votes

Donc dans l'exemple vu en cours avec Abdallah Amirat le thread père qui crée les autres threads fils est le thread main et les thread fils sont les thread lancées par ce dernière c'est pour ça on fait tout ces thread des daemon s .

c'est à dire il faut rendre tous les threads fils des daemons, sinon tout les fils continuera ses exécutions même le thread qui fait appel à la méthode setDaemon()

exemple :
public void static main(){//Thread principale
      Thr T1 = new Thr() ;//Thr est une classe hérite de la classe Thread
      Thr T2 = new Thr() ;

      T1.setDaemon(); T1.start(); //l'inverse d'ordre est interdit
      T2.setDaemon(); T2.start();

System.out.println("fin");

// Après l'affichage de cette message tout les threads s'arrêtrent automatiquement
//Mais si on supprime l'instruction T2.setDaemon(); par exemple
// Les deux threads T1 et T2 terminent ses exécutions jusqu'à la
// fin
}

Answered on 18:03, Tuesday 17 May 2016 by Hanen Rouainia (322 points)
In Techniques objet avancées



Answer (1)

2 votes

Un thread peut poursuivre son exécution même si son thread parent est terminé. Par exemple, si la méthode main() du thread parent s'arrête, les éventuels threads utilisateurs continuent l'exécution.
Par contre , avec les threads démons, lorsque un thread parent se termine, les threads démons lancés cessent également d'exister et cela même si leurs traitements étaient en cours d'exécution.

Answered on 18:03, Tuesday 17 May 2016 by ilhem daoudi (40 points)
In Techniques objet avancées



Answer (2)

1 votes

juste en peut dire il travaille comme la command KILL  pss dans unix  qui tue le pss avec ces fils ... elle fait arreter brutallement le tout les thread qui s'excute dans un programme immédiatement 

Answered on 00:49, Wednesday 18 May 2016 by amirat abdallah (256 points)
In Techniques objet avancées



Answer (3)

1 votes

un thead peut poursuivre son exécution méme si son thead parent par exemple si la méthode mais () du thead s'appéte les evenement theads utilisateur continuent l'exécution

par contre avec les theads démos lorsque un theard parent se termine les theads démos lancés cessent également d'exister et cela mém si leur  traitement etaient en cours d'exécution 

 

Answered on 15:11, Wednesday 18 May 2016 by rahil serghine (17 points)
In Techniques objet avancées



Answer (4)

0 votes

oui Abdallah on peut dire ça laughing

Answered on 04:54, Thursday 19 May 2016 by Hanen Rouainia (322 points)
In Techniques objet avancées



Do you have an answer ?