Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Java] 보조 역할을 수행하는 데몬(Daemon) 스레드 본문
𐂂 데몬 스레드
주 스레드의 작업을 돕는 보조 역할 스레드
주 스레드가 종료되면 자동종료, TERMINATED.
스레드를 데몬으로 만들기 위해서,
주 스레드에서 해당 스레드 객체를 만들어 setDaemon(true);를 호출하면 된다.
🎯 목적: 자동저장 .. 등에 쓰인다.
주 스레드가 종료되면 자동종료, TERMINATED.
스레드를 데몬으로 만들기 위해서,
주 스레드에서 해당 스레드 객체를 만들어 setDaemon(true);를 호출하면 된다.
🎯 목적: 자동저장 .. 등에 쓰인다.
📜 AutoSaveThread.java
public class AutoSaveThread extends Thread {
public void save() {
System.out.pritnln("작업 내용을 저장함.");
}
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
break;
}
save();
}
}
}
📜 DaemonExample.java
public class DaemonExample {
public static void main(String[] args) {
AutoSaveThread daemonThread = new AutoSaveThread();
daemonThread.start();
try {
Thread.sleep(3000);
} catch(InterruptedException e) { }
System.out.println("주(메인) 스레드 종료");
//작업 내용을 저장함.
//작업 내용을 저장함.
//주(메인) 스레드 종료
}
}
🦉 코드 설명
주 스레드: main 메서드
데몬 스레드: AutoSaveThread.run 메서드
➡️ main 메서드에서 자동저장을 위한 데몬 스레드를 만들고 설정해준다.
주 스레드인 main 메서드는 3초후에 텍스트를 출력한뒤 끝나기 때문에,
데몬 스레드도 처음 1초뒤에 텍스트를 출력하고 이를 두번까지 반복하고
메인 스레드가 끝남과 동시에 끝난다.
주 스레드: main 메서드
데몬 스레드: AutoSaveThread.run 메서드
➡️ main 메서드에서 자동저장을 위한 데몬 스레드를 만들고 설정해준다.
주 스레드인 main 메서드는 3초후에 텍스트를 출력한뒤 끝나기 때문에,
데몬 스레드도 처음 1초뒤에 텍스트를 출력하고 이를 두번까지 반복하고
메인 스레드가 끝남과 동시에 끝난다.
'Backend > 자바' 카테고리의 다른 글
[Java] 값의 존재여부를 나타내는 컨테이너 클래스, Optional (0) | 2023.09.11 |
---|---|
[Java] 스레드 개수를 제한하는 스레드풀(ThreadPool)의 생성과 작업처리 요청 (0) | 2023.08.14 |
[Java] 스레드 정상 실행 종료, interrupt( ): 리소스 정리 후 실행 종료 (0) | 2023.08.13 |
[Java] 공유객체 내부데이터에 대한 스레드 동기화와 정확한 작업교대 (0) | 2023.08.13 |
[Java] CPU스케쥴링에 따른 스레드(Thread) 상태와 상태 이동 메서드 (0) | 2023.08.12 |
Comments