MapleStory Cookie With Halo

☕ JAVA/☕ Class & Method

[JAVA][Thread]Daemon Thread 데몬 쓰레드

뉴이 NUEY 2024. 12. 3. 02:03
반응형

 

데몬 쓰레드
: 일반 쓰레드의 작업을 돕는 보조적인 역할을 수행한다.
→ 따라서 일반 쓰레드가 종료되면 자동 종료된다.

이런 식으로 생겼다.

  • 가비지 컬렉터, 자동저장, 화면 자동갱신 등에 사용된다.
  • 무한루프와 조건문을 이용해서 싱행 후 대기하다가, 특정조건if()이 만족되면 작업을 수행하고 다시 대기한다.

 

데몬 쓰레드 만들기
thread.setDaemon(true);

 

  1. DaemonThread_Ex1 클래스는 Runnable 인터페이스를 상속 받은 쓰레드이다.
  2. new Thread안에 이 클래스를 넣고 쓰레드를 만들었다.
  3. setDaemone(True)로 데몬쓰레드로 만들었다.
  4. start()하면 아래 run()이 실행된다.
  5. for문에서는 1초마다 i를 출력하고 잇는데
  6. i == 5가 되면 autuSave가 true가 되어 run() 안의 autoSave()메서드가 실행된다.
  7. run()메서드 속 while(true)이기 때문에 이후 3초마다 '작업파일이 자동저장되었습니다.' 메시지가 출력된다.

만약 DaemonThread로 만들지 않으면
이와 같이 일반쓰레드가 종료되어도, while문 무한 반복으로 프로그램이 꺼지지 않는다.
💡 Daemon Thread인 지 확인하기
thread.isDaemon()

 


참조영상

반응형