쓰레드의 우선순위
//Setting thread priority
// Setting thread priority by getting int Newpriority
void setPriority(int newPriority)
// returns thread priority
int getPriority()
public static final int MAX_PRIORITY = 10 // max
public static final int MIN_PRIORITY = 1 // min
쓰레드의 멤버변수(속성)중에는 우선순위라는 속성이 있어요
이 우선순위의 값에 따라서 쓰레드가 얻는 실행시간이 달라져요.
쓰레드가 수행하는 작업의 중요도에 따라서 쓰레드의 우선순위를
다르게 지정하여 쓰레드가 더 많은 작업시간을 갖도록 할 수 있어요.
우선순위의 범위는 1 ~ 10 이며, 숫가자 높을수록 우선순위가 높아요.
main method를 수행하느 쓰레드의 우선숭위는 자동적으로 5에요
Ex
파일전송기능이 있는 메신저의 경우, 파일 다운로드를 처리하는 쓰레드보다는 채팅내용을 전송하는 쓰레드의 우선순위가 더 놓아야 사용자가 채팅하는데 불편함이 없을 거시에요.
대신, 파일 다운로드 시간을 더 걸릴 것이에요.
package chapter13;
public class Ex13_6 {
public static void main(String[] args){
ThreadEx6_1 th1 = new ThreadEx6_1();
ThreadEx6_2 th2 = new ThreadEx6_2();
th2.setPriority(9);
System.out.println("Priority of th1(-) : " + th1.getPriority());
System.out.println("Priority of th2(;) : " + th2.getPriority());
th1.start();
th2.start();
}
}
class ThreadEx6_1 extends Thread {
public void run(){
for( int i = 0 ; i < 300 ; i++){
System.out.println("-");
for(int x = 0 ; x < 100000 ; x++);
}
}
}
class ThreadEx6_2 extends Thread {
public void run(){
for( int i = 0 ; i < 300 ; i++){
System.out.println(";");
for(int x = 0 ; x < 100000 ; x++);
}
}
}
Priority of th1(-) : 5
Priority of th2(;) : 9
-;-;-;-;-;-----------------------------------------
---------------------------------------------------
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;```
Author And Source
이 문제에 관하여(쓰레드의 우선순위), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@marintelli/쓰레드의-우선순위저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)