Memanggil secara langsung kaedah run() objek Thread tidak akan memulakan benang berasingan dan boleh dilaksanakan dalam urutan semasa. Untuk melaksanakan Runnable.run daripada benang yang berasingan, lakukan salah satu daripada yang berikut
public class ThreadRunMethodTest { public static void main(String args[]) { MyThread runnable = new MyThread(); runnable.run(); // Call to run() method does not start a separate thread System.out.println("Main Thread"); } } class MyThread extends Thread { public void run() { try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println("Child Thread interrupted."); } System.out.println("Child Thread"); } }
Dalam contoh di atas, utas utama ThreadRunMethodTest menggunakan kaedah run() untuk memanggil thread anak MyThread. Ini menyebabkan utas kanak-kanak berjalan sehingga selesai sebelum seluruh utas utama dijalankan, supaya "Benang Kanak-kanak" dicetak sebelum "Benang Utama".
Child Thread Main Thread
Atas ialah kandungan terperinci Apa yang berlaku jika kita terus memanggil kaedah run() dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!