マルチスレッドにおける Java スレッドの優先順位

王林
リリース: 2023-09-06 14:21:06
転載
832 人が閲覧しました

マルチスレッドにおける Java スレッドの優先順位

マルチスレッドの場合、スレッド スケジューラはさまざまな条件に基づいてスレッドを特定のプロセスに割り当てます。 彼らの優先事項。 Java スレッドには、事前に割り当てられた優先順位があります。さらに、Java 仮想 マシンはスレッドに優先順位を割り当てたり、プログラマが明示的に優先順位を指定したりすることもできます。範囲は スレッド優先度の値は 1 ~ 10 (両端の値を含む) です。 3 つの静的変数 優先度に関連するのは -

  • MAX_PRIORITY - スレッドが持つ最大優先度で、デフォルト値は 10 です。

  • NORM_PRIORITY - スレッドのデフォルトの優先順位。デフォルト値は 5 です。

  • MIN_PRIORITY - スレッドの最小優先順位。デフォルトは 1 です。

Java の「getPriority()」メソッドは、バインドされたスレッド優先度を値として返すのに役立ちます。

「setPriority()」メソッドは、特定のスレッドの優先順位の値を変更します。それは投げます IllegalArgumentException は、スレッドの優先順位が 1 未満または 10 を超える場合に発生します。

リアルタイム デモンストレーション

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());
   }
}
ログイン後にコピー

出力

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」が定義されており、関連性があります メッセージが定義されています。 main 関数では、Demo クラスの 2 つのインスタンスが作成されます。 優先度は、関数「getPriority」を呼び出すことでわかります。

これらはコンソールに表示されます。次に、以下を使用して Demo インスタンスに優先度を割り当てます。 「優先順位を設定」機能。出力がコンソールに表示されます。スレッドの名前を出力します 「getName」関数を使用して画面に表示されます。

以上がマルチスレッドにおける Java スレッドの優先順位の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!