[Java] 자바 멀티태스킹 - Thread (스레드)의 우선 순위
멀티 태스킹 : 스레드의 우선 순위
- 자바는 스레드의 우선 순위를 10단계로 나누어 관리한다.
1~10까지 지정한다.
- "main" 스레드의 기본 우선 순위는 5이다.
- "main" 스레드에서 새 스레드를 만들면, 그 스레드는 "main"의 자식 스레드가 된다.
자식 스레드는 부모 스레드의 우선 순위와 동일한 값을 갖는다.
- 그런데, 사실상 자바의 우선 순위는 실행에 별 영향을 끼치지 못한다.
이유 :
1) 스레드를 최종 관리하는 곳은 OS이기 떄문이다. 따라서 OS가 스레드를 관리하는
방식(스케줄링 방식)에 따라 실행이 결정된다.
2) 자바는 1~10까지 우선 순위의 단계가 있지만, 그 자바를 실행하는 OS는
그 종류에 따라 단계가 다르다. 예를 들면, WIndows는 7단계, Solaris는
65535단계 등 이렇게 OS와 자바 사이의 단계가 일치하지 않기 때문에 어차피
자바의 우선순위를 정밀하게 조정할 수 없다.
- 결론 :
스레드의 우선 순위를 고려하여 프로그래밍 하지 말자!
'Programming > java' 카테고리의 다른 글
[Java] 이클립스 JDBC 2. java.sql 패키지의 주요 인터페이스 (규칙) (0) | 2017.05.29 |
---|---|
[Java] 이클립스 JDBC 1. MySQL JDBC Type 4 드라이버 다운로드 (0) | 2017.05.26 |
[Java] 소켓(socket) 프로그래밍 - 서버(server)와 클라이언트(client) 소켓 만드는 법 (2) | 2017.05.23 |
[Java] 멀티 태스킹 - 개요 및 JVM 기본 스레드와 스레드 그룹들 (0) | 2017.05.23 |
[Java] 프로그램 아규먼트 program argument (args) 종류 (0) | 2017.05.23 |