Java - Daemon Thread


데몬 스레드란?

  • 데몬 스레드(Daemon Thread)는 일반 스레드와는 다른 특성을 가지는 스레드다.
  • 데몬 스레드는 백그라운드에서 동작하며, 주로 서비스 스레드의 보조 역할을 수행하거나 특정 작업을 주기적으로 처리하기 위한 목적으로 사용한다.
  • 이러한 데몬 스레드는 프로그램이 종료될 때 자동으로 종료되며, 명시적으로 종료시키지 않아도 된다.
      Thread daemonThread = new Thread(() -> {
          while (true) {
              // 주기적인 작업 수행
              // ...
          }
      });
      daemonThread.setDaemon(true); // 데몬 스레드로 설정
      daemonThread.start(); // 스레드 시작
    
    • 주기적인 로그 기록
    • 자동 저장 및 백업
    • 네트워크 리스너 (포트를 모니터링하며 연결 요청 처리)
    • Garbage Collection 등의 백그라운드 작업
    • 이러한 것들이 데몬 스레드로 동작하거나, 동작하면 좋은 것들이다.
  • 메인 스레드가 종료되면 데몬 스레드도 함께 종료되므로 종료 조건을 명확히 설정해야한다.
  • 스레드 간의 안전성과 동기화 문제도 고려해야 하며,
  • 올바른 용도와 적절한 사용으로 데몬 스레드는 성능 향상과 백그라운드 작업 관리를 효율적으로 수행할 수 있다.






results matching ""

    No results matching ""