Javaスレッドの優先順位を設定するにはどうすればよいですか?
Javaでは、スレッドの優先度はsetPriority()メソッドで設定できます。優先度は1から10の整数で、1が最も低く、10が最も高い優先度です。既定では、すべてスレッドは同じ優先度(5)で開始されます。
以下のサンプルコードはスレッドの優先順位を設定する方法を示しています。
public class ThreadPriorityExample {
public static void main(String[] args) {
Thread thread1 = new MyThread("Thread 1");
Thread thread2 = new MyThread("Thread 2");
thread1.setPriority(8);
thread2.setPriority(3);
thread1.start();
thread2.start();
}
}
class MyThread extends Thread {
public MyThread(String name) {
super(name);
}
@Override
public void run() {
System.out.println(getName() + " is running.");
}
}
上のサンプルでは、thread1とthread2という2つのスレッドを作成し、それぞれにsetPriority()メソッドで8と3の優先度を設定しました。その後、この2つのスレッドを起動します。スレッドの優先度の設定に従って、優先度の高いスレッドの方が高い頻度で実行される可能性はありますが、必ずそうなるという保証はありません。