Ví dụ
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"); } }
Đầu ra
Starting the main thread Starting the inner thread Exiting main thread Exiting the inner thread
Lớp chính tạo một luồng mới và gọi hàm ‘chạy’ trên đó. Ở đây, một giá trị Boolean được xác định, có tên là ‘exit’, ban đầu được đặt thành false. Bên ngoài vòng lặp while, hàm ‘start’ được gọi. Trong khối thử, chuỗi mới được tạo sẽ ngủ trong một khoảng thời gian cụ thể mà sau đó ngoại lệ sẽ bị bắt và thông báo liên quan sẽ được hiển thị trên màn hình. Sau đó, chuỗi chính sẽ được thoát vì giá trị của lối ra sẽ được đặt thành 'true'.