十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
java中的線程是什么?如何使用線程?這些問題可能是我們?nèi)粘9ぷ鲿姷降?。通過這些問題,希望你能收獲更多。下面是揭開這些問題的詳細(xì)內(nèi)容。
什么是線程
線程是指進(jìn)程中的一個執(zhí)行流程,一個進(jìn)程中可以運(yùn)行多個線程。比如java.exe進(jìn)程中可以運(yùn)行很多線程。線程總是屬于某個進(jìn)程,進(jìn)程中的多個線程共享進(jìn)程的內(nèi)存。
在Java中,“線程”指兩件不同的事情:
1、java.lang.Thread類的一個實例;
2、線程的執(zhí)行。
使用java.lang.Thread
類或者java.lang.Runnable
接口編寫代碼來定義、實例化和啟動新線程。
一個Thread類實例只是一個對象,像Java中的任何其他對象一樣,具有變量和方法,生死于堆上。
Java中,每個線程都有一個調(diào)用棧,即使不在程序中創(chuàng)建任何新的線程,線程也在后臺運(yùn)行著。
一個Java應(yīng)用總是從main()
方法開始運(yùn)行,mian()方法運(yùn)行在一個線程內(nèi),它被稱為主線程。
一旦創(chuàng)建一個新的線程,就產(chǎn)生一個新的調(diào)用棧。
線程總體分兩類:用戶線程和守候線程。
當(dāng)所有用戶線程執(zhí)行完畢的時候,JVM自動關(guān)閉。但是守候線程卻不獨(dú)立于JVM,守候線程一般是由操作系統(tǒng)或者用戶自己創(chuàng)建的。
Java線程:創(chuàng)建與啟動
一、定義線程
1、擴(kuò)展java.lang.Thread類。
此類中有個run()方法,應(yīng)該注意其用法:
public void run()
如果該線程是使用獨(dú)立的Runnable運(yùn)行對象構(gòu)造的,則調(diào)用該Runnable對象的run方法;否則,該方法不執(zhí)行任何操作并返回。
Thread的子類應(yīng)該重寫該方法。
2、實現(xiàn)java.lang.Runnable接口。
void run()
使用實現(xiàn)接口Runnable的對象創(chuàng)建一個線程時,啟動該線程將導(dǎo)致在獨(dú)立執(zhí)行的線程中調(diào)用對象的run方法。
方法run的常規(guī)協(xié)定是,它可能執(zhí)行任何所需的操作。
二、實例化線程
1、如果是擴(kuò)展java.lang.Thread類的線程,則直接new即可。
2、如果是實現(xiàn)了java.lang.Runnable接口的類,則用Thread的構(gòu)造方法:
Thread(Runnable target) Thread(Runnable target, String name) Thread(ThreadGroup group, Runnable target) Thread(ThreadGroup group, Runnable target, String name) Thread(ThreadGroup group, Runnable target, String name, long stackSize)
三、啟動線程
在線程的Thread對象上調(diào)用start()方法,而不是run()或者別的方法。
在調(diào)用start()方法之前:線程處于新狀態(tài)中,新狀態(tài)指有一個Thread對象,但還沒有一個真正的線程。
在調(diào)用start()方法之后:發(fā)生了一系列復(fù)雜的事情
啟動新的執(zhí)行線程(具有新的調(diào)用棧);
該線程從新狀態(tài)轉(zhuǎn)移到可運(yùn)行狀態(tài);
當(dāng)該線程獲得機(jī)會執(zhí)行時,其目標(biāo)run()方法將運(yùn)行。
注意:對Java來說,run()方法沒有任何特別之處。像main()方法一樣,它只是新線程知道調(diào)用的方法名稱(和簽名)。因此,在Runnable上或者Thread上調(diào)用run方法是合法的。但并不啟動新的線程。
看完上述內(nèi)容,你們對java中的線程有進(jìn)一步的了解嗎?如果還想了解更多相關(guān)內(nèi)容,歡迎關(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)用場景需求。