>Java >java지도 시간 >멀티스레딩의 Java 스레드 우선순위

멀티스레딩의 Java 스레드 우선순위

王林
王林앞으로
2023-09-06 14:21:06892검색

멀티스레딩의 Java 스레드 우선순위

멀티스레딩의 경우 스레드 스케줄러는 다양한 조건에 따라 스레드를 특정 프로세스에 할당합니다. 그들의 우선순위. Java 스레드에는 사전 할당된 우선순위가 있습니다. 또한, 자바 가상 기계는 스레드에 우선순위를 할당하거나 프로그래머가 명시적으로 지정할 수도 있습니다. 범위는 스레드 우선순위의 값은 1에서 10(포함) 사이입니다. 세 가지 정적 변수 우선순위와 관련된 것은 -

  • MAX_PRIORITY - 스레드의 최대 우선순위이며 기본값은 10입니다.

  • NORM_PRIORITY - 스레드의 기본 우선순위이며 기본값은 5입니다.

  • MIN_PRIORITY - 스레드의 최소 우선순위이며 기본값은 1입니다.

Java의 "getPriority()" 메서드는 바인딩된 스레드 우선순위를 값으로 반환하는 데 도움이 됩니다.

"setPriority()" 메소드는 주어진 스레드의 우선순위 값을 변경합니다. 그것은 던진다 IllegalArgumentException은 스레드 우선순위가 1보다 작거나 10보다 클 때 발생합니다.

Example

실시간 데모

import java.lang.*;
public class Demo extends Thread{
   public void run(){
      System.out.println("Now, inside the run method");
   }
   public static void main(String[]args){
      Demo my_thr_1 = new Demo();
      Demo my_thr_2 = new Demo();
      System.out.println("The thread priority of first thread is : " + my_thr_1.getPriority());
      System.out.println("The thread priority of first thread is : " +       my_thr_2.getPriority());
      my_thr_1.setPriority(5);
      my_thr_2.setPriority(3);
      System.out.println("The thread priority of first thread is : " +    my_thr_1.getPriority());
      System.out.println("The thread priority of first thread is : " + my_thr_2.getPriority());
      System.out.print(Thread.currentThread().getName());
      System.out.println("The thread priority of main thread is : " +
      Thread.currentThread().getPriority());
      Thread.currentThread().setPriority(10);
      System.out.println("The thread priority of main thread is : " +
      Thread.currentThread().getPriority());
   }
}

Output

The thread priority of first thread is : 5
The thread priority of first thread is : 5
The thread priority of first thread is : 5
The thread priority of first thread is : 3
The thread priority of main thread is : 5
The thread priority of main thread is : 10

Demo라는 클래스는 기본 클래스 Thread에서 상속됩니다. 'run' 함수가 정의되어 있고 관련성이 있습니다. 메시지가 정의됩니다. 기본 기능에서는 Demo 클래스의 두 인스턴스가 생성되고 우선순위는 "getPriority" 함수를 호출하여 찾습니다.

콘솔에 인쇄되어 있습니다. 다음으로 다음을 사용하여 데모 인스턴스에 우선순위를 할당합니다. '우선순위 설정' 기능. 출력이 콘솔에 표시됩니다. 스레드 이름을 인쇄하세요. "getName" 함수를 사용하여 화면에 표시됩니다.

위 내용은 멀티스레딩의 Java 스레드 우선순위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제