[java] 스레드 운영 정책(Scheduling Policy)의 종류는?

자바에서는 스레드의 동작을 제어하는 정책인 스레드 운영 정책(Scheduling Policy)을 설정할 수 있습니다. 스레드 운영 정책은 스레드가 실행되는 순서와 우선순위를 결정합니다.

자바에서 스레드 운영 정책의 종류는 다음과 같습니다:

  1. Round-Robin Scheduling (라운드 로빈 스케줄링)
    • 스레드들이 일정한 시간 단위로 번갈아가며 실행됩니다.
    • 모든 스레드가 공평하게 실행됩니다.
  2. First-Come First-Served (FCFS) Scheduling (선입선출 스케줄링)
    • 스레드들이 도착한 순서대로 실행됩니다.
    • 먼저 도착한 스레드가 먼저 실행됩니다.
  3. Priority Scheduling (우선순위 스케줄링)
    • 각 스레드에 우선순위를 할당하고, 우선순위가 높은 스레드가 먼저 실행됩니다.
    • 우선순위는 정수로 표현되며, 1부터 10까지 할당할 수 있습니다.
  4. Shortest Job First (SJF) Scheduling (최단 작업 우선 스케줄링)
    • 실행 시간이 짧은 작업부터 먼저 실행됩니다.
    • 평균 대기 시간을 최소화하는 스케줄링 알고리즘입니다.

이외에도 여러 종류의 스레드 운영 정책이 있지만, 이 중에서 자주 사용되는 스케줄링 정책은 라운드 로빈 스케줄링과 우선순위 스케줄링입니다.

참고 문서: