import java.io.*; public class Test extends Thread { static boolean state = true; public static void main(String args[]) { System.out.println("変数"); System.out.println(" MAX_PRIORITY " + Thread.MAX_PRIORITY); System.out.println(" MIN_PRIORITY " + Thread.MIN_PRIORITY); System.out.println(" NORM_PRIORITY " + Thread.NORM_PRIORITY); // スレッドの開始 Test test = new Test(); Thread th = new Thread(test); th.start(); th.setPriority(6); // スレッドの状態 if (th.isAlive()) System.out.println("スレッドは生きています"); else System.out.println("スレッドは死にました"); // スレッドが死ぬのを1500ミリ秒待つ try { th.join(1500); } catch (InterruptedException e) {} // スレッドの状態 if (th.isAlive()) System.out.println("スレッドは生きています"); else System.out.println("スレッドは死にました"); } public void run() { int count = 0; System.out.println("スレッドがスタートしました"); while (state == true) { count ++; System.out.println(" count " + count); try { this.sleep(100); // スリープ } catch (InterruptedException e) {} if (count == 10) state = false; } } }
変数 MAX_PRIORITY 10 MIN_PRIORITY 1 NORM_PRIORITY 5 スレッドは生きています スレッドがスタートしました count 1 count 2 count 3 count 4 count 5 count 6 count 7 count 8 count 9 count 10 スレッドは死にました