Cute Running Puppy

Language/[Java] 혼자 공부하는 자바

[#혼공챌린지] 혼자 공부하는 자바_4주차 기본미션

R.silver 2021. 8. 1. 20:26
반응형

#혼공단 #혼공챌린지 #혼공자

https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1

 

[#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼

안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때

hongong.hanbit.co.kr


혼공 챌린지_자바 4주차 기본 미션

p.550 [직접 해보는 손코딩] 코딩 과정 및 실행 결과 인증샷


p.550_직접 해보는 손코딩

 

1초 주기로 save() 메소드를 호출하는 데몬 스레드 AutoSaveThread를 작성한 후

3초 뒤 메인 스레드가 종료되면 AutoSaveThread도 함께 종료되는 코드

 

1초 주기로  save() 메소드를 호출하는 데몬 스레드

 

package sec02.exam05;

public class AutoSaveThread extends Thread {
	public void save() {
		System.out.println("작업 내용을 저장함.");
	}
	
	
	@Override
	public void run() {
		while (true) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				break;
			}
			save();
		}
	}
}

 

메인 스레드가 실행하는 코드 

 

package sec02.exam05;

public class DaemonExample {

	public static void main(String[] args) {
		AutoSaveThread autoSaveThread = new AutoSaveThread ();
		autoSaveThread.setDaemon(true);
		autoSaveThread.start();
		
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
		}
		
		System.out.println("메인 스레드 종료");
	}
}

 

실행 결과

 

작업 내용을 저장함.
작업 내용을 저장함.
작업 내용을 저장함.
메인 스레드 종료

 

p.550_직접 해보는 손코딩 실행 결과


데몬 스레드 (Daemon Thread)

주 스레드의 작업을 돕는 스레드 (보조적인 역할)

일반 스레드와 다른 점: 보조 역할이므로 주 스레드가 종료될 때 강제 종료된다.  

사용 예: 자동 저장, 동영상, 음악 재생, 쓰레기 수집기 등에 사용된다. 

 

스레드를 데몬으로 만드는 법

주 스레드가 데몬이 될 스레드의 setDaemon(true)를 호출하면 된다. 

 AutoSaveThread를 Daemon Thread로 만들기

 

public class DaemonExample {

	public static void main(String[] args) {
		...
        //데몬 스레드 만들기
		autoSaveThread.setDaemon(true);
		...
	}
  }

실행 중인 스레드가 Daemon Thread인지 확인하는 방법

isDaemon() 메소드의 리턴값이 true이면 Daemon Thread이다. 

주의할 점 

start() 메소드 호출 후 setDaemon(true)를 호출하면 IllegalThreadStateException이 발생하므로

setDaemon(thue)를 먼저 호출한 뒤 start() 메소드를 호출해야 한다. 

(∴ setDaemon(thue) 호출 -> start() 호출)


https://spongerice.tistory.com/112

 

[#혼공챌린지] 혼자 공부하는 자바_4주차 선택미션

#혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요,..

spongerice.tistory.com

 

반응형