Rumah > Java > javaTutorial > teks badan

Apa yang berlaku jika kita terus memanggil kaedah run() dalam Java?

PHPz
Lepaskan: 2023-09-08 14:57:02
ke hadapan
1403 orang telah melayarinya

Apa yang berlaku jika kita terus memanggil kaedah run() dalam Java?

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

  • Bina satu Benang > objek menggunakan Runnable dan panggil kaedah start() pada Thread.
  • Tentukan subkelas objek Thread dan ganti takrif kaedah run() nya. Kemudian bina contoh subkelas itu dan panggil kaedah start() contoh itu secara langsung.

Contoh

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");
   }
}
Salin selepas log masuk

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".

Output

Child Thread
Main Thread
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan