Soalan tentang java pemasaan multi-thread execution?
Cai kelas awam melaksanakan Runnable {
@Override
public synchronized void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+" : "+i);
}
}
}
Larian kelas awam {
@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();
}
}
Apabila kaedah test2 dilaksanakan, mengapa ia kelihatan seperti: Thread 1 gelung 0-99, Thread 2 gelung 0-10 dan kemudian program tamat
Thread 2 tidak dilaksanakan sepenuhnya, dan thread 3 tidak dilaksanakan ???
Tambahkan thread.join, thread utama akan menunggu sehingga thread ini selesai pelaksanaan
Ia berkesan untuk saya, ia berkesan setiap masa