Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ฆ่าเธรดใน Java


ตัวอย่าง

public class Main{
   static volatile boolean exit = false;
   public static void main(String[] args){
      System.out.println("Starting the main thread");
      new Thread(){
         public void run(){
            System.out.println("Starting the inner thread");
            while (!exit){
            }
            System.out.println("Exiting the inner thread");
         }
      }.start();
      try{
         Thread.sleep(100);
      }
      catch (InterruptedException e){
         System.out.println("Exception caught :" + e);
      }
      exit = true;
      System.out.println("Exiting main thread");
   }
}

ผลลัพธ์

Starting the main thread
Starting the inner thread
Exiting main thread
Exiting the inner thread

คลาสหลักสร้างเธรดใหม่และเรียกใช้ฟังก์ชัน 'run' ในที่นี้ ค่าบูลีนถูกกำหนด ชื่อ 'exit' ซึ่งตั้งค่าเป็นเท็จในตอนแรก นอกวง while ฟังก์ชัน 'start' จะถูกเรียก ในบล็อกการลอง เธรดที่สร้างขึ้นใหม่จะเข้าสู่โหมดสลีปเป็นระยะเวลาหนึ่งหลังจากนั้นจะตรวจพบข้อยกเว้น และข้อความที่เกี่ยวข้องจะแสดงบนหน้าจอ หลังจากนี้ เธรดหลักจะถูกปิดเนื่องจากค่าของ exit จะถูกตั้งค่าเป็น 'จริง'