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]

