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

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

PHPz
PHPzke hadapan
2023-09-08 14:57:021437semak imbas

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");
   }
}

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

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam