Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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'라는 부울 값이 정의되며 처음에는 false로 설정됩니다. while 루프 외부에서 'start' 함수가 호출됩니다. try 블록에서 새로 생성된 스레드는 특정 시간 동안 휴면 상태가 된 후 예외가 발생하고 관련 메시지가 화면에 표시됩니다. 이후 exit 값이 'true'로 설정되어 메인 스레드가 종료됩니다.