Menghentikan Benang Java dengan Anggun
Apabila berhadapan dengan utas yang panjang dan berkemungkinan tidak lengkap, anda mungkin perlu menamatkannya dengan cara terkawal. Ini mengelakkan gangguan mendadak dan memastikan proses penutupan yang betul.
Pendekatan Optimum
Kaedah yang disyorkan melibatkan pelaksanaan bendera boolean dalam kaedah run() thread. Apabila urutan harus ditamatkan, bendera ini ditetapkan kepada 'benar' daripada sumber luaran. Ini membolehkan urutan itu melengkapkan pelaksanaan semasanya secara semula jadi dan keluar dengan anggun.
Contohnya:
public class MyThread extends Thread { volatile boolean finished = false; public void stopMe() { finished = true; } @Override public void run() { while (!finished) { // Perform necessary tasks } } }
Pendekatan Warisan: Thread.stop()
Kaedah penamatan benang yang lebih lama melibatkan penggunaan kaedah Thread.stop(). Walau bagaimanapun, pendekatan ini kini dianggap tidak selamat dan tidak digalakkan. Berbeza dengan kaedah bendera boolean, Thread.stop() menghentikan urutan secara tiba-tiba, berpotensi meninggalkan objek yang dilindungi dalam keadaan tidak stabil dan menyebabkan akibat yang tidak dapat diramalkan.
Oleh itu, pendekatan bendera boolean kekal sebagai penyelesaian yang disyorkan untuk menghentikan urutan Java dengan anggun. .
Atas ialah kandungan terperinci Cara Menghentikan Benang Java dengan Anggun: Adakah Thread.stop() Masih Menjadi Pilihan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!