Salut tout le monde,
J'ai un souci au niveau de l'exécution d'un programme de threads qui est très simple, voici ci-dessous ma classe myThread ainsi que la classe Main :
public class myThread extends Thread { public void run() { for(int i=0; i<100;i++) System.out.println(this.getName() + " : " + i); } } public class Main { public static void main(String[] args) { myThread t1 = new myThread(); myThread t2 = new myThread(); t1.setName("t1"); t2.setName("t2"); t1.start(); t2.start(); } }
Le même programme exécuté plusieurs fois sur deux machines différentes M1 et M2 donne le résultat suivant :
Sur la machine 1 : Toujours le même résultat qui est :
t1 : 0
t1 : 1
...
t1 : 99
t2 : 0
...
t2 : 99
Sur la machine M2 : concurrence entre t1 et t2 et à chaque exécution un nouveau résultat.
Ma question est la suivante :
Pourquoi sur la machine M1, t1 et t2 ne sont pas concurrents, et ils n'ont pas l'air d'être deux processus indépendants ?[/b]