1. 程式人生 > >使用java實現面向對象 第七章

使用java實現面向對象 第七章

子類 創建線程 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實現面向對象 第七章