Fragen zur Java-Timing-Multithread-Ausführung?
öffentliche Klasse Cai implementiert Runnable {
@Override
public synchronized void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+" : "+i);
}
}
}
öffentlicher Klassenlauf {
@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();
}
}
Wenn die test2-Methode ausgeführt wird, warum sieht es so aus: Thread 1 durchläuft 0-99, Thread 2 durchläuft 0-10 und dann endet das Programm
Thread 2 wird nicht vollständig ausgeführt und Thread 3 wird nicht ausgeführt ???
加上 thread.join,主线程才会等待这个线程执行完毕
我的可以啊,每次都可以