목차

  1. 사용자 스레드 vs 데몬 스레드
  2. 데몬 스레드의 생성자와 메소드
    1. 생성자
    2. 메소드
  3. 예제

 

 

1. 사용자 스레드 vs 데몬 스레드

1) 사용자 스레드

  • main 스레드가 사용자 스레드이다

 

2) 데몬 스레드

  • 일반 스레드의 작업을 돕는 보조 역할을 하는 스레드
  • 일반 스레드가 모두 종료되면 자동적으로 종료된다 (보조할게 없으니까)
  • 자동저장, 화면 자동 갱신 등에 사용된다
  • 무한루프와 조건문로 사용하며, 대기 상태로 있다가 조건문에 해당되면 작업을 수행하고 다시 대기 상태로 전환된다

 

 

 

2. 데몬 스레드의 메소드

1) 메소드

  • boolean isDaemon() : 이 스레드가 데몬 스레드인지 확인 (맞으면 true)
  • void setDaemon(boolean on) : 스레드를 데몬 스레드 또사용자 스레드로 변경 (매개변수 on을 true로 지정하면 데몬 스레드가 된다)

**setDaemon() 메소드는 start() 를 호출하기 전에 실행해야 한다. 그렇지 않으면 (IllegalThreadStateException 발생)

 

 

 

 

3. 예제

autoSave가 true가 되면 데몬 스레드 실행
20번째 코드가 실행되면 데몬 스레드 실행(= 3초마다 자동저장)

 

'IT 언어 > Java' 카테고리의 다른 글

[Java] 웹소켓 (WebSocket)  (0) 2024.02.23
[Java] 람다식 (Lamda)  (0) 2024.02.22
[Java] Thread -1 (프로세스, 싱글스레드, 멀티스레드)  (0) 2024.02.19
[Java] enum (열거형 사용법)  (0) 2024.02.19
[Java] 제네릭 (Generics)  (0) 2024.02.15

+ Recent posts