javaスレッド優先原理詳細
javaのスレッド優先度の範囲は1~10で、デフォルトの優先度は5です。10が一番高いです。
javaでは、スレッドの優先度は継承性があり、例えば、AスレッドがBスレッドを起動すると、AとBの優先度は同じである。
スレッド作成後、set Priority()を呼び出して優先度を変更することができます。
MIN_PRIORITY 1
MAX_PRIORITY 10
NORM_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();
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。