class A extends Thread {
public void run() {
for (int i = 1; i < 5; i++) {
System.out.println("Thread A Loop NO " + i);
}
System.out.println("Exit from A");
}
}
class B extends Thread {
public void run() {
for (int j = 1; j < 5; j++) {
System.out.println("Thread B Loop no. " + j);
}
System.out.println("Exit from B");
}
}
class C extends Thread {
public void run() {
for (int k = 1; k < 5; k++) {
System.out.println("Thread C Loop no " + k);
}
System.out.println("Exit Form c");
}
}
class Demo1 {
public static void main(String args[]) {
A a1 = new A();
B b1 = new B();
C c1 = new C();
c1.setPriority(Thread.MAX_PRIORITY);
a1.start();
b1.start();
c1.start();
}
}
私はこのプログラムを数回実行しました。最大優先度のスレッド「C」が最後に完了する場合があります。最大優先度では、最初に終了することが保証されませんか?つまり、他のスレッドがループを終了する前ですか?そうでない場合、スケジューラポリシーは何ですか?