Programming Language/Java

[Java] Java Thread 종류

장쫄깃 2023. 6. 20. 17:23
728x90

Java Thread 종류


  1. Main Thread
    1. Java 프로그램이 시작될 때 자동으로 생성되는 Thread
    2. 모든 Java 어플리케이션은 최소한 하나의 Main Thread가 존재
  2. User Thread
    1. 개발자가 직접 생성하는 Thread
    2. Thread 클래스를 이용하여 생성
  3. Daemon Thread
    1. 다른 일반 Thread의 작업을 돕는 보조적인 역할을 수행하는 Thread
    2. 단, 해당 스레드가 시작( start() )되기 전 setDeamon(true)로 데몬 스레드 지정
    3. 다른 실행중인 일반 Thread가 없거나, 모든 User Thread가 종료될 때 자동으로 종료되는 스레드
    4. 대표적으로 가비지 컬렉션 (Garbage Collection) 이 있음
  4. Non-Daemon Thread
    1. User Thread와 같은 종류의 Thread
    2. 어플리케이션이 실행되는 동안 계속해서 실행
  5. Thread Pool Thread
    1. 일정한 개수의 Thread를 생성하고 관리하는 Thread
    2. ExecutorExecutor Service 인터페이스를 이용하여 생성
  6. Green Thread
    1. JVM에서 사용하는 Thread
    2. 현재는 거의 사용하지 않음

 

이러한 다양한 종류의 Thread를 사용하여 Java 어플리케이션을 개발할 수 있다.

 


 

추가적으로, Daemon Thread를 사용하는 대표적인 예시 중 하나인 가비지 컬렉션 (Garbage Collection)에 대한 설명은 해당 글을 참고하면 된다.

링크 : https://jangjjolkit.tistory.com/30

 

[Java] GC(Garbage Collection) 이해하기

들어가며 Java의 가비지 컬렉터는 다양한 종류가 있지만 공통적으로 다음의 2가지 작업을 수행한다. 힙(Heap) 내의 객체 중 Garbage를 찾아낸다. 찾아낸 Garbage 객체를 반환하여 메모리를 회수한다. 최

jangjjolkit.tistory.com

 

728x90