Rumah > Java > javaTutorial > Di Jawa, bolehkah kita memanggil kaedah wait() tanpa memperoleh kunci?

Di Jawa, bolehkah kita memanggil kaedah wait() tanpa memperoleh kunci?

WBOY
Lepaskan: 2023-09-03 17:21:07
ke hadapan
778 orang telah melayarinya

Di Jawa, bolehkah kita memanggil kaedah wait() tanpa memperoleh kunci?

Anda tidak boleh memanggil kaedah tunggu() tanpa mendapatkan kunci. Di Java, setelah kunci diperoleh, kita perlu memanggil kaedah wait() pada objek (boleh dengan atau tanpa tamat masa). Jika kita cuba memanggil kaedah wait() tanpa mendapatkan kunci, ia mungkin membuang java.lang.IllegalMonitorStateException pengecualian.

Contoh

public class ThreadStateTest extends Thread {
   public void run() {
      try {
<strong>         </strong>wait(1000);
      } catch(InterruptedException ie) {
         ie.printStackTrace();
      }
   }
   public static void main(String[] s) {
      ThreadStateTest test = new ThreadStateTest();
<strong>      </strong>test.start();
   }
}
Salin selepas log masuk

Dalam contoh di atas, kita perlu memanggil kaedah wait() tanpa memperoleh kunci, yang akan menghasilkan IllegalMonitorStateException pada masa jalan. Untuk menyelesaikan masalah ini, kita perlu memperoleh kunci sebelum memanggil kaedah tunggu() dan mengisytiharkan kaedah run() disegerakkan.

output

Exception in thread "Thread-0" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at ThreadStateTest.run(ThreadStateTest.java:4)
Salin selepas log masuk

Atas ialah kandungan terperinci Di Jawa, bolehkah kita memanggil kaedah wait() tanpa memperoleh kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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