Ajouter un commentaire

nasix
Les thread donnent-ils le même résultat à chaque exécution

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]

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 X   X  H  H   QQQ    ZZZZZ   QQQ   
X X H H Q Q Z Q Q
X HHHH Q Q Z Q Q
X X H H Q QQ Z Q QQ
X X H H QQQQ ZZZZZ QQQQ
Q Q