您好,歡迎來(lái)到賦能網(wǎng)!

長(zhǎng)沙學(xué)Java實(shí)現(xiàn)線程的方式

賦能網(wǎng) 2023-05-11 1875

長(zhǎng)沙學(xué)Java實(shí)現(xiàn)線程的方式

Java實(shí)現(xiàn)線程的方式

java實(shí)現(xiàn)線程的方式:Java中有兩種主要的實(shí)現(xiàn)線程的方法,分別繼承了Java.lang.Thread類(lèi)與實(shí)現(xiàn)java.lang.Runnable接口。如果想具體了解Java實(shí)現(xiàn)線程的方式,那不妨接著往下看吧!

1、繼承Thread類(lèi)

Thread類(lèi)是java.lang包中的一個(gè)類(lèi)。從這個(gè)類(lèi)實(shí)例化的對(duì)象表示線程,程序員需要?jiǎng)?chuàng)建一個(gè)Thread實(shí)例來(lái)啟動(dòng)一個(gè)新線程。Thread類(lèi)常用的兩個(gè)構(gòu)造函數(shù)如下:

public Thread(String threadName); public Thread();

其中第一個(gè)構(gòu)造函數(shù)方法是創(chuàng)建名稱(chēng)為threadName的線程對(duì)象。

繼承Thread類(lèi)創(chuàng)建新的線程語(yǔ)法如下所示:

public class ThreadTest extends Thread{ //... }

完成線程的代碼放在類(lèi)的run()方法中。一旦一個(gè)類(lèi)繼承的Thread類(lèi),可以覆蓋run()方法的類(lèi),編寫(xiě)代碼,實(shí)現(xiàn)了線程的功能分成run()方法,然后同時(shí)調(diào)用start()方法執(zhí)行線程的線程類(lèi),這是一個(gè)調(diào)用run()方法。

Thread對(duì)象需要一個(gè)任務(wù)來(lái)執(zhí)行,任務(wù)是指線程在啟動(dòng)時(shí)執(zhí)行的工作,該工作的功能代碼是在run()方法中。這個(gè)run()方法必須使用如下的語(yǔ)法格式。

public void run(){ //... }

當(dāng)一個(gè)線程程序被執(zhí)行時(shí),一個(gè)線程被自動(dòng)創(chuàng)建。主方法就是在這個(gè)線程上運(yùn)行的。當(dāng)不再有線程啟動(dòng)時(shí),程序就是單線程程序。

main()方法的線程啟動(dòng)由Java虛擬機(jī)負(fù)責(zé),程序員負(fù)責(zé)啟動(dòng)自己的線程。語(yǔ)法如下所示。

public static void main(String[] args) { new ThreadTest().start(); }

2、實(shí)現(xiàn)Runnable接口

到目前為止,線程是通過(guò)擴(kuò)展Thread類(lèi)創(chuàng)建的。如果程序員需要繼承另一個(gè)類(lèi)(而不是Thread類(lèi)),并使線程對(duì)該程序可用,則需要使用Runnable接口。

例如,一個(gè)擴(kuò)展Jframe類(lèi)的GUI應(yīng)用程序不能繼承Thread類(lèi),因?yàn)镴ava語(yǔ)言不支持多重繼承。這時(shí)該類(lèi)需要實(shí)現(xiàn)Runnable接口,以賦予它使用線程的能力。實(shí)現(xiàn)Runnable接口的語(yǔ)法如下所示。

public class Thread extends Object implements Runnable

實(shí)現(xiàn)Runnable接口的程序創(chuàng)建一個(gè)Thread對(duì)象,使用以上構(gòu)建方法就可以將Runnable實(shí)例與Thread實(shí)例關(guān)聯(lián)起來(lái)。

Thread類(lèi)中有兩個(gè)構(gòu)造函數(shù)方法,如下所示。

public Thread(Runnable r) public Thread(Runnable r, String name)

   這兩個(gè)構(gòu)造函數(shù)的參數(shù)中都有Runnable實(shí)例。Runnable實(shí)例可以使用上面的構(gòu)造函數(shù)與Thread實(shí)例相關(guān)聯(lián)。

使用Runnable接口啟動(dòng)新的線程的步驟如下。

(1)建立Runnable對(duì)象。

(2)使用參數(shù)為Runnable對(duì)象的構(gòu)造方法創(chuàng)建Thread實(shí)例。

(3)調(diào)用start()方法啟動(dòng)線程。

通過(guò)Runnable接口創(chuàng)建線程時(shí)。程序員首先需要編寫(xiě)一個(gè)實(shí)現(xiàn)Runnable接口的類(lèi),然后實(shí)例化該類(lèi)的對(duì)象。這樣就建立了Runnable對(duì)象。接下來(lái),使用相應(yīng)的構(gòu)造方法創(chuàng)建Thread實(shí)例。最后,使用該實(shí)例調(diào)用Thread類(lèi)中的Start()方法啟動(dòng)線程。

想了解更多相關(guān)資訊請(qǐng)關(guān)注java培訓(xùn)頻道-查看更多,了解相關(guān)專(zhuān)業(yè)課程信息您可在線咨詢(xún)也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注賦能網(wǎng)

本文鏈接:

本文章“長(zhǎng)沙學(xué)Java實(shí)現(xiàn)線程的方式”已幫助 1875 人

免責(zé)聲明:本信息由用戶(hù)發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢(xún)熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: