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 :-)
 FFFF  X   X  K  K   QQQ    BBBB  
F X X K K Q Q B B
FFF X KK Q Q BBBB
F X X K K Q QQ B B
F X X K K QQQQ BBBB
Q