小編給大家分享一下java中線程的用法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
右江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。線程(英語:thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一條線程指的是進(jìn)程中一個單一順序的控制流,一個進(jìn)程中可以并發(fā)多個線程,每條線程并行執(zhí)行不同的任務(wù)。在Unix System V及SunOS中也被稱為輕量進(jìn)程(lightweight processes),但輕量進(jìn)程更多指內(nèi)核線程(kernel thread),而把用戶線程(user thread)稱為線程。
想要使用線程就需要創(chuàng)建線程,現(xiàn)在來看一下線程的創(chuàng)建方式。
實(shí)現(xiàn)線程編程的方式主要有兩種:一種是繼承 Thread 類,另一種是實(shí)現(xiàn) Runnable 接口。
繼承 Thread 類
在學(xué)習(xí)如何實(shí)現(xiàn)線程前,先來看看 Thread 類的結(jié)構(gòu),如下:
public class Thread implements Runnable
從上面的源代碼可以發(fā)現(xiàn),Thread 類實(shí)現(xiàn)了 Runnable 接口,它們之間具有多態(tài)關(guān)系。
其實(shí),使用繼承 Thread 類的方式實(shí)現(xiàn)多線程,大的局限就是不支持多繼承,因為 Java 語言的特點(diǎn)就是單根繼承,所以為了支持多繼承,完全可以實(shí)現(xiàn) Runnable 接口的方式,一邊實(shí)現(xiàn)一邊繼承。但用這兩種方式創(chuàng)建的線程在工作時的性質(zhì)是一樣的,沒有本質(zhì)的區(qū)別。
Thread 類有如下兩個常用構(gòu)造方法:
public Thread(String threadName) public Thread()
繼承 Thread 類實(shí)現(xiàn)線程的語法格式如下:
public class NewThreadName extends Thread { //NewThreadName 類繼承自 Thread 類 public void run() { //線程的執(zhí)行代碼在這里 } }
實(shí)現(xiàn) Runnable 接口
如果要創(chuàng)建的線程類已經(jīng)有一個父類,這時就不能再繼承 Thread 類,因為 Java 不支持多繼承,所以需要實(shí)現(xiàn) Runnable 接口來應(yīng)對這樣的情況。
實(shí)現(xiàn) Runnable 接口的語法格式如下:
public class thread extends Object implements Runnable
實(shí)現(xiàn) Runnable 接口的程序會創(chuàng)建一個 Thread 對象,并將 Runnable 對象與 Thread 對象相關(guān)聯(lián)。Thread 類有如下兩個與 Runnable 有關(guān)的構(gòu)造方法:
public Thread(Runnable r); public Thread(Runnable r,String name);
使用上述兩種構(gòu)造方法之一均可以將 Runnable 對象與 Thread 實(shí)例相關(guān)聯(lián)。使用 Runnable 接口啟動線程的基本步驟如下。
創(chuàng)建一個 Runnable 對象。
使用參數(shù)帶 Runnable 對象的構(gòu)造方法創(chuàng)建 Thread 實(shí)例。
調(diào)用 start() 方法啟動線程。
通過實(shí)現(xiàn) Runnable 接口創(chuàng)建線程時開發(fā)人員首先需要編寫一個實(shí)現(xiàn) Runnable 接口的類,然后實(shí)例化該類的對象,這樣就創(chuàng)建了 Runnable 對象。接下來使用相應(yīng)的構(gòu)造方法創(chuàng)建 Thread 實(shí)例。最后使用該實(shí)例調(diào)用 Thread 類的 start() 方法啟動線程,
看完了這篇文章,相信你對java中線程的用法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。