bonjour tout le monde, j'ai un problème lors d'utilisation de thread je ne maitrise pas bien cette notion mais j'en ai besoin, voici le code :
j'ai besoin de calculer la somme de deux entiers x et y, je lance un thread qui me permet à t=0 de calculer la valeur de x, puis il se met en attente jusqu'à t=1s pour reprendre le calcul de y, alors puisque la somme dépend de x et y alors il faut que le programme principal (la fonction affiche elle même se met en attente jusqu'à ce que le thread lui renvoi les valeurs de x et y pour qu'elle puisse calculer la somme correctement donc il y a notion de priorité. mais en exécutant le programme la somme est 0, elle est erronée comme si le thread ne s'exécute pas, alors j'ai besoin de votre aide vraiment je ne le maitrise pas bien ce thread.
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
26
27
28
29
30
31
32
33
34 public class tictac implements Runnable { int x,y; public void run() { int a=2; int b=4; System.out.println("bonjour"); x=a+b; try{Thread.sleep(1000); y=(b-a)+x; } catch (InterruptedException e){}; } public tictac(){ } public void affiche(){ Thread th=new Thread(); th.start(); int somme=(x+y); System.out.println("la somme est "+somme); } public static void main(String argv[]) { tictac a=new tictac(); a.affiche(); } }
merci infiniment
Partager