package sample; class MyThread extends Thread { public MyThread(Runnable e) { super(e); } public static void main(String[] args) { Runnable e = new Runnable() { public void run() { for (int i = 0; i < 10; i++) { System.out.println("線程開始:" + "i=" + i); } } }; MyThread test = new MyThread(e); test.start(); /* * 每一個線程都有一個優先級,分佈在Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之 * 間(分別爲1和10)默認狀況下,新建立的線程都擁有和建立它的線程相同的優先級。 * main方法所關聯的初始化線程擁有一個默認的優先級, * 這個優先級是Thread.NORM_PRIORITY (5). * 線程的當前優先級能夠經過getPriority方法得到。 * 10 Crisis management(應急處理) * 7-9 Interactive, event-driven(交互相關,事件驅動) * 4-6 IO-bound(IO限制類) * 2-3 Background computation(後臺計算) * 1 Run only if nothing else can(僅在沒有任何線程運行時運行的) * * */ System.out.println(test.getPriority()); /* * 在同一個Thread上調用屢次start方法會拋出InvalidThreadStateException異常。 * Exception in thread "main" java.lang.IllegalThreadStateException * at java.lang.Thread.start(Thread.java:704) * at sample.MyThread.main(MyThread.java:20) * * */ test.start(); } }