javaスレッド優先原理詳細


javaのスレッド優先度の範囲は1~10で、デフォルトの優先度は5です。10が一番高いです。MIN_PRIORITY 1MAX_PRIORITY 10NORM_PRIORITY 5優先度が高い方がcpuを得る確率が高いです。優先度が高い方が先に実行し終わるのではなく、スレッド優先度がランダムな特性です。
javaでは、スレッドの優先度は継承性があり、例えば、AスレッドがBスレッドを起動すると、AとBの優先度は同じである。
スレッド作成後、set Priority()を呼び出して優先度を変更することができます。

public class Test5 {

  public static class TheadT extends Thread{
    @Override
    public void run() {
      while (true) {
        System.out.println(Thread.currentThread().getName());
      }
    }
  }

  public static void main(String[] args) {
    Thread t1=new TheadT();
    t1.setName("t1");
    Thread t2=new TheadT();
    t2.setName("t2");

    t1.setPriority(Thread.MIN_PRIORITY);
    t2.setPriority(Thread.MAX_PRIORITY);

    t1.start();
    t2.start();
  }
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。