[IT]/java
java.Tread.scheduling
givemebro
2021. 3. 17. 14:52
반응형

Thread scheduling
우선순위 방식
우선순위(priority)가 높으면 스케줄링이 될 가능성이 높아짐
스레드 우선 순위는 1~10
default:5
1이 가장 낮은 우선 순위, 10이 가장 높은 우선 순위
package step7;
/*
* 자바 스레드 스케줄링은 우선 순위 방식
* 이를 확인해보기 위해
* 테스트 스레드를 20개 생성하고 start
* 그중 하나를 우선순위를 10(가장 높은)으로 할당
* 결과 확인
*/
class Worker implements Runnable {
public void run() {
String name = Thread.currentThread().getName();
int priority = Thread.currentThread().getPriority();
for (long l = 0; l < 9000000000L; l++) {
}
System.out.println(name + " 스레드 실행완료!: " + priority);
}
}
public class TestThread7 {
public static void main(String[] args) {
System.out.println("main Thread 시작");
Worker w = new Worker();
for (int i = 1; i <= 20; i++) {
Thread t = new Thread(w, i + "번째 일꾼 스레드");
if (i == 9) {// 9번째 스레드 우선순위를 가장 높은 10으로 할당
t.setPriority(Thread.MAX_PRIORITY);// 10
}
t.start();
}
System.out.println("main Thread 종료");
}
}
main Thread 시작
main Thread 종료
9번째 일꾼 스레드 스레드 실행완료!: 10
13번째 일꾼 스레드 스레드 실행완료!: 5
1번째 일꾼 스레드 스레드 실행완료!: 5
5번째 일꾼 스레드 스레드 실행완료!: 5
8번째 일꾼 스레드 스레드 실행완료!: 5
4번째 일꾼 스레드 스레드 실행완료!: 5
3번째 일꾼 스레드 스레드 실행완료!: 5
2번째 일꾼 스레드 스레드 실행완료!: 5
6번째 일꾼 스레드 스레드 실행완료!: 5
20번째 일꾼 스레드 스레드 실행완료!: 5
12번째 일꾼 스레드 스레드 실행완료!: 5
16번째 일꾼 스레드 스레드 실행완료!: 5
17번째 일꾼 스레드 스레드 실행완료!: 5
7번째 일꾼 스레드 스레드 실행완료!: 5
18번째 일꾼 스레드 스레드 실행완료!: 5
14번째 일꾼 스레드 스레드 실행완료!: 5
15번째 일꾼 스레드 스레드 실행완료!: 5
11번째 일꾼 스레드 스레드 실행완료!: 5
10번째 일꾼 스레드 스레드 실행완료!: 5
19번째 일꾼 스레드 스레드 실행완료!: 5반응형