Java實現(xiàn)線程的方式
java實現(xiàn)線程的方式:Java中有兩種主要的實現(xiàn)線程的方法,分別繼承了Java.lang.Thread類與實現(xiàn)java.lang.Runnable接口。如果想具體了解Java實現(xiàn)線程的方式,那不妨接著往下看吧!
1、繼承Thread類
Thread類是java.lang包中的一個類。從這個類實例化的對象表示線程,程序員需要創(chuàng)建一個Thread實例來啟動一個新線程。Thread類常用的兩個構(gòu)造函數(shù)如下:
public Thread(String threadName); public Thread();
其中第一個構(gòu)造函數(shù)方法是創(chuàng)建名稱為threadName的線程對象。
繼承Thread類創(chuàng)建新的線程語法如下所示:
public class ThreadTest extends Thread{ //... }
完成線程的代碼放在類的run()方法中。一旦一個類繼承的Thread類,可以覆蓋run()方法的類,編寫代碼,實現(xiàn)了線程的功能分成run()方法,然后同時調(diào)用start()方法執(zhí)行線程的線程類,這是一個調(diào)用run()方法。
Thread對象需要一個任務(wù)來執(zhí)行,任務(wù)是指線程在啟動時執(zhí)行的工作,該工作的功能代碼是在run()方法中。這個run()方法必須使用如下的語法格式。
public void run(){ //... }
當(dāng)一個線程程序被執(zhí)行時,一個線程被自動創(chuàng)建。主方法就是在這個線程上運行的。當(dāng)不再有線程啟動時,程序就是單線程程序。
main()方法的線程啟動由Java虛擬機負責(zé),程序員負責(zé)啟動自己的線程。語法如下所示。
public static void main(String[] args) { new ThreadTest().start(); }
2、實現(xiàn)Runnable接口
到目前為止,線程是通過擴展Thread類創(chuàng)建的。如果程序員需要繼承另一個類(而不是Thread類),并使線程對該程序可用,則需要使用Runnable接口。
例如,一個擴展Jframe類的GUI應(yīng)用程序不能繼承Thread類,因為Java語言不支持多重繼承。這時該類需要實現(xiàn)Runnable接口,以賦予它使用線程的能力。實現(xiàn)Runnable接口的語法如下所示。
public class Thread extends Object implements Runnable
實現(xiàn)Runnable接口的程序創(chuàng)建一個Thread對象,使用以上構(gòu)建方法就可以將Runnable實例與Thread實例關(guān)聯(lián)起來。
Thread類中有兩個構(gòu)造函數(shù)方法,如下所示。
public Thread(Runnable r) public Thread(Runnable r, String name)
這兩個構(gòu)造函數(shù)的參數(shù)中都有Runnable實例。Runnable實例可以使用上面的構(gòu)造函數(shù)與Thread實例相關(guān)聯(lián)。
使用Runnable接口啟動新的線程的步驟如下。
(1)建立Runnable對象。
(2)使用參數(shù)為Runnable對象的構(gòu)造方法創(chuàng)建Thread實例。
(3)調(diào)用start()方法啟動線程。
通過Runnable接口創(chuàng)建線程時。程序員首先需要編寫一個實現(xiàn)Runnable接口的類,然后實例化該類的對象。這樣就建立了Runnable對象。接下來,使用相應(yīng)的構(gòu)造方法創(chuàng)建Thread實例。最后,使用該實例調(diào)用Thread類中的Start()方法啟動線程。
想了解更多相關(guān)資訊請關(guān)注java培訓(xùn)頻道-查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注賦能網(wǎng)
本文鏈接:
本文章“長沙學(xué)Java實現(xiàn)線程的方式”已幫助 1875 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579