使用java實現面向對象 第七章
阿新 • • 發佈:2017-10-07
子類 創建線程 sta 定義 沒有 多線程 void lan start
第七章 多線程
一.Thread類和Runnable接口
1.在java.lang包中定義了Runnable接口和Thread類。
Runnable接口中只定義了一個方法,它的格式為:
public abstract void run()
2.這個方法要由實現了Runnable接口的類實現。Runnable對象稱為可運行對象,一個線程的運行就是執行該對象的run()方法。
3.Thread類實現了Runnable接口,因此Thread對象也是可運行對象。同時Thread類也是線程類。
4.target為線程運行的目標對象,即線程調用start()方法啟動後運行那個對象的run()方法,該對象的類型為Runnable,若沒有指定目標對象,則以當前類對象為目標對象;name為線程名,group指定線程屬於哪個線程組。
二.線程的創建
線程運行的代碼就是實現了Runnable接口的類的run()方法或者是Thread類的子類的run()方法,因此構造線程體就有兩種方法:
繼承Thread類並覆蓋它的run()方法;
實現Runnable接口並實現它的run()方法。
繼承Thread類創建線程
通過繼承Thread類,並覆蓋run()方法,這時就可以用該類的實例作為線程的目標對象。下面的程序定義了SimpleThread類,它繼承了Thread類並覆蓋了run()方法。
實現Runnable接口創建線程
可以定義一個類實現Runnable接口,然後將該類對象作為線程的目標對象。實現Runnable接口就是實現run()方法。
三.線程的生命周期
線程從創建、運行到結束總是處於下面五個狀態之一:新建狀態、就緒狀態、運行狀態、阻塞狀態及死亡狀態。
新建:創建一個線程
就緒:等待啟動
運行:運行輸出
阻塞:從運行返回阻塞狀態
死亡:程序結束
使用java實現面向對象 第七章