Des questions sur l'exécution multithread du timing Java ?
classe publique Cai implémente Runnable {
@Override
public synchronized void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+" : "+i);
}
}
}
Course en classe publique {
@Test
public void test2() throws Exception {
Cai cai = new Cai();
Thread thread = new Thread(cai);
Thread thread2 = new Thread(cai);
Thread thread3 = new Thread(cai);
thread.setName("线程1");
thread2.setName("线程2");
thread3.setName("线程3");
thread.start();
thread2.start();
thread3.start();
}
}
Lorsque la méthode test2 est exécutée, pourquoi apparaît-elle comme : Le fil 1 boucle 0 à 99, le fil 2 boucle 0 à 10, puis le programme se termine. Pourquoi
Le fil 2 n'est-il pas entièrement exécuté et le fil 3 ? n'est pas exécuté ???
Ajoutez thread.join, le thread principal attendra que ce thread termine son exécution
Ça marche pour moi, ça marche à chaque fois