Rumah > Java > javaTutorial > Bagaimana untuk Menamatkan Benang Java dengan Anggun?

Bagaimana untuk Menamatkan Benang Java dengan Anggun?

Linda Hamilton
Lepaskan: 2024-11-11 20:22:03
asal
835 orang telah melayarinya

How to Gracefully Terminate a Java Thread?

Cara Menamatkan Benang Java dengan Anggun

Apabila menghadapi benang jangka panjang yang mesti dihentikan pada pertengahan pelaksanaan, adalah penting untuk melakukannya dengan anggun untuk mengelakkan akibat yang tidak dapat diramalkan .

Untuk mencapai matlamat ini, pendekatan biasa ialah memperkenalkan pembolehubah kawalan dalam kaedah run() thread. Pembolehubah ini, biasanya bendera boolean, bertindak sebagai sentinel untuk menandakan permintaan penamatan.

Pertimbangkan contoh berikut:

class MyThread extends Thread {
  volatile boolean finished = false;

  public void stopMe() {
    finished = true;
  }

  @Override
  public void run() {
    while (!finished) {
      // Perform the necessary actions
    }
  }
}
Salin selepas log masuk

Dari urutan utama, anda boleh menghentikan pelaksanaan dengan anggun dengan memanggil kaedah stopMe():

MyThread myThread = new MyThread();
myThread.start();

// Wait some time to simulate work
Thread.sleep(500);

myThread.stopMe();
Salin selepas log masuk

Sebelum ini, Java mempunyai kaedah stop(), tetapi ia telah diisytiharkan tidak selamat kerana potensinya merosakkan keadaan benang dan membuka kunci yang diperoleh. Oleh itu, menggunakan pendekatan pembolehubah kawalan ialah cara yang disyorkan untuk memastikan penamatan benang yang bersih dan terkawal.

Atas ialah kandungan terperinci Bagaimana untuk Menamatkan Benang Java dengan Anggun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan