Salut à tous,
Je développe un petit exemple pour bien saisir l'idée des threads.
J'ai lancé une série de thread avec un numéro associé à chacun.
J'aimerai pouvoir mettre un thread en pause pendant un certain temps (le thread est choisi au hasard) mais les autres doivent continuer l'exécution.
En fait j'ai lancé une série de thread qui font appel a une fonction d'affichage. Chaque thread affiche un nom et un numéro au hasard. L'affichage se fait toutes les 2 secondes.
J'ai essayé 2-3 trucs mais dès que j'en met un en sleep, le thread garde la main mise sur l'exécution et les autres sont en attente.
Je cherche une façon de procéder
(Les threads sont déjà lancé dans le début du code et les variables sont instanciées)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 while(temp2 <= (temp+120000)) { if(temp2 == (temp+delai)) { System.out.println("***************Debut iteration " + iteration + " ************"); int hasard = (int)(Math.random() * tabT.size()); ThreadEnfant ta = tabT.get(hasard); //Ici mettre un thread en sleep for(int i = 0; i < tabT.size(); i++) { ThreadEnfant t = tabT.get(i); String retour = t.crier(); System.out.println(retour); } delai += 2000; System.out.println("***************Fin iteration " + iteration + " ************"); iteration++; } temp2 = System.currentTimeMillis(); } System.out.println("-----------Fin---------");
Merci d'avance
Partager