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

Bagaimana untuk Menamatkan Benang Java dengan Anggun?

Linda Hamilton
Linda Hamiltonasal
2024-11-11 20:22:03782semak imbas

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
    }
  }
}

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();

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!

Kenyataan:
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