Java

[Java의 정석] 13-2. 스레드: 우선순위, 그룹, 데몬 스레드

noahkim_ 2023. 11. 27. 19:01

남궁성 님의 "Java의 정석" 책을 정리한 포스팅 입니다.

 

5. 우선순위

  • Thread 클래스는 우선순위라는 속성을 가지고 있습니다.
  • 이 우선순위 값에 따라 스레드의 실행시간이 달라집니다.
  • 시각적인 부분이나 사용자에게 빠르게 반응해야 하는 작업이 우선순위가 높습니다.

 

우선순위 지정하기

  • 1~10이며 숫자가 높을수록 우선순위가 높습니다.
  • 우선순위는 부모 스레드로부터 상속받습니다.

 

6. 그룹

  • 서로 관련된 스레드를 그룹으로 다루기 위한 것입니다.
  • 보안상의 이유로 도입된 개념입니다.
  • 모든 스레드는 반드시 스레드 그룹에 포함되어 있어야 합니다.
  • 스레드 그룹에 다른 스레드 그룹을 포함시킬 수 있습니다.

 

main

  • main 스레드
  • 사용자 스레드

 

system

  • Finalizer 스레드 : GC 수행

 

7. 데몬 스레드

  • 다른 일반 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드입니다.
  • 일반 스레드가 모두 종료되면 데몬스레드는 강제적으로 종료됩니다.
  • 무한루프의 조건문을 이용해서 실행 후 대기하고 있다가 특정조건이 만족되면 작업을 수행하고 다시 대기합니다.