[Java] 자바 멀티태스킹 - Thread (스레드)의 우선 순위


멀티 태스킹 : 스레드의 우선 순위

 - 자바는 스레드의 우선 순위를 10단계로 나누어 관리한다.

    1~10까지 지정한다.

 - "main" 스레드의 기본 우선 순위는 5이다.

 - "main" 스레드에서 새 스레드를 만들면, 그 스레드는 "main"의 자식 스레드가 된다.

    자식 스레드는 부모 스레드의 우선 순위와 동일한 값을 갖는다.


 - 그런데, 사실상 자바의 우선 순위는 실행에 별 영향을 끼치지 못한다.

   이유 : 

   1) 스레드를 최종 관리하는 곳은 OS이기 떄문이다. 따라서 OS가 스레드를 관리하는

      방식(스케줄링 방식)에 따라 실행이 결정된다.

   2) 자바는 1~10까지 우선 순위의 단계가 있지만, 그 자바를 실행하는 OS는 

       그 종류에 따라 단계가 다르다. 예를 들면, WIndows는 7단계, Solaris는 

       65535단계 등 이렇게 OS와 자바 사이의 단계가 일치하지 않기 때문에 어차피

       자바의 우선순위를 정밀하게 조정할 수 없다.


 - 결론 :

   스레드의 우선 순위를 고려하여 프로그래밍 하지 말자!


블로그 이미지

필로그래머

,