Run() vs. start() dalam Threading: Penjelasan Komprehensif
Dalam pengaturcaraan multithreaded, memahami dengan berkesan perbezaan antara Thread.run () dan Runnable.run() ialah penting.
Soalan:
Pertimbangkan coretan kod berikut:
public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); r1.run(); r2.run(); }
public static void main() { R1 r1 = new R1(); R2 r2 = new R2(); Thread t1 = new Thread(r1); Thread t2 = new Thread(r2); t1.start(); t2.start(); }
Jawapan:
Contoh Pertama: Tidak Multithreading
Dalam coretan pertama, r1.run() dan r2.run() dilaksanakan secara langsung tanpa membuat thread baharu. Akibatnya, kedua-dua R1 dan R2 dilaksanakan secara berurutan dalam utas utama.
Contoh Kedua: Multithreading
Dalam coretan kedua, objek Thread (t1 dan t2) dicipta untuk merangkum kejadian R1 dan R2, masing-masing. Apabila t1.start() dan t2.start() dipanggil, utas baharu akan dimulakan, masing-masing melaksanakan kaedah run() bagi pelaksanaan Runnable yang sepadan secara serentak selari dengan utas utama.
Kekunci Perbezaan:
Atas ialah kandungan terperinci Run() vs. start() dalam Java Thread: Apakah Perbezaan dalam Gelagat Multithreading?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!