到目前為止,我們僅用到兩個執行緒:主線程和乙個子執行緒。然而,你的程式可以建立所需的更多執行緒。例如,下面的程式建立了三個子執行緒:
// create multiple threads.
class newthread implements runnable
// this is the entry point for thread.
public void run()
} catch (interruptedexception e)
system.out.println(name + " exiting.");}}
class multithreaddemo catch (interruptedexception e)
system.out.println("main thread exiting.");}}
程式輸出如下所示:
new thread: thread[one,5,main]
new thread: thread[two,5,main]
new thread: thread[three,5,main]
one: 5
two: 5
three: 5
one: 4
two: 4
three: 4
one: 3
three: 3
two: 3
one: 2
three: 2
two: 2
one: 1
three: 1
two: 1
one exiting.
two exiting.
three exiting.
main thread exiting.
如你所見,一旦啟動,所有三個子執行緒共享cpu。注意main()中對sleep(10000)的呼叫。這使主線程沉睡十秒確保它最後結束。
JAVA 入門教程3
b 靜態初始化 給出初始化值,由系統決定長度。c 動態初始化的格式 a arrayindexoutofbound ception 陣列索引越界異常 原因 你訪問了不存在的索引。b nullpointerexception 空指標異常 原因 陣列已經不在指向堆記憶體了。而你還用陣列名去訪問元素。int...
Java多執行緒入門教程
死亡狀態 dead 執行緒執行完了或者因異常退出了run 方法,該執行緒結束生命週期。修飾普通方法 獲得this物件鎖 synchronized public void synchronized public static void public void 當多個執行緒同時訪問同乙個物件加x鎖的方法...
java入門教程 6 9Java finally
當異常被丟擲,通常方法的執行將作乙個陡峭的非線性的轉向。依賴於方法是怎樣編碼的,異常甚至可以導致方法過早返回。這在一些方法中是乙個問題。例如,如果乙個方法開啟乙個檔案項並關閉,然後退出,你不希望關閉檔案的 被異常處理機制旁路。finally關鍵字為處理這種意外而設計。finally建立乙個 塊。該 ...