반응형
데몬 쓰레드
: 일반 쓰레드의 작업을 돕는 보조적인 역할을 수행한다.
→ 따라서 일반 쓰레드가 종료되면 자동 종료된다.
- 가비지 컬렉터, 자동저장, 화면 자동갱신 등에 사용된다.
- 무한루프와 조건문을 이용해서 싱행 후 대기하다가, 특정조건if()이 만족되면 작업을 수행하고 다시 대기한다.
데몬 쓰레드 만들기
thread.setDaemon(true);
- DaemonThread_Ex1 클래스는 Runnable 인터페이스를 상속 받은 쓰레드이다.
- new Thread안에 이 클래스를 넣고 쓰레드를 만들었다.
- setDaemone(True)로 데몬쓰레드로 만들었다.
- start()하면 아래 run()이 실행된다.
- for문에서는 1초마다 i를 출력하고 잇는데
- i == 5가 되면 autuSave가 true가 되어 run() 안의 autoSave()메서드가 실행된다.
- run()메서드 속 while(true)이기 때문에 이후 3초마다 '작업파일이 자동저장되었습니다.' 메시지가 출력된다.
만약 DaemonThread로 만들지 않으면
이와 같이 일반쓰레드가 종료되어도, while문 무한 반복으로 프로그램이 꺼지지 않는다.
💡 Daemon Thread인 지 확인하기
thread.isDaemon()
반응형
'☕ JAVA > ☕ Class & Method' 카테고리의 다른 글
[JAVA][Thread]suspend() resume() stop(). 일시정지, 재개, 완전정지 (0) | 2024.12.06 |
---|---|
[JAVA][Thread]상태와 실행제어. sleep() & interrupt() (1) | 2024.12.05 |
[JAVA][Thread]우선순위 (0) | 2024.12.02 |
[JAVA][Thread]main쓰레드, join(), I/O Blocking (0) | 2024.12.02 |
[JAVA][Thread]구현 (0) | 2024.12.02 |