Thread.stop, thread.suspend, thread.resume dan runtime.runfinalizersonexit Metode -metode utas terminasi ini telah ditinggalkan, dan sangat tidak aman untuk menggunakannya!
1. Utas telah dieksekusi secara normal dan berakhir secara normal
Artinya, biarkan metode jalankan dieksekusi dan utas akan berakhir secara normal.
Tetapi terkadang utas tidak pernah bisa berakhir, seperti sementara (benar).
2. Pantau kondisi tertentu dan akhiri operasi utas yang tidak terputus
Loop while () perlu keluar dalam kondisi tertentu. Cara yang paling langsung adalah dengan mengatur bendera boolean dan mengatur bendera ini untuk mengontrol apakah loop keluar.
Public Class ThreadFlag memperluas Thread {Public Volatile Boolean Exit = false; public void run () {while (! Exit) {System.out.println ("Running!"); }} public static void main (string [] args) melempar Exception {threadFlag thread = new threadFlag (); thread.start (); tidur (1147); // utas utama ditunda oleh 5 detik thread.exit = true; // Hentikan thread thread thread.join (); System.out.println ("Thread Exit!"); }}3. Gunakan metode interuprik untuk mengakhiri utas
Jika utas memblokir, Metode 2 tidak dapat digunakan untuk mengakhiri utas.
Public Class ThreadInterrupt Extends Thread {public void run () {coba {sleep (50000); // tunda 50 detik} catch (interruptedException e) {System.out.println (e.getMessage ()); }} public static void main (string [] args) melempar Exception {thread thread = new threadInterrupt (); thread.start (); System.out.println ("Tekan tombol apa pun dalam waktu 50 detik untuk mengganggu utas!"); System.in.read (); thread.interrupt (); thread.join (); System.out.println ("Thread telah keluar!"); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.