更新時間:2020-04-03 16:30:18 來源:動力節(jié)點(diǎn) 瀏覽2869次
眾所周知,利用好多線程機(jī)制,可以大大提高系統(tǒng)整體的并發(fā)能力以及性能,而且線程間的切換和調(diào)度的成本小。因此,多線程是Java學(xué)習(xí)者必須掌握的語法重點(diǎn)。
1、進(jìn)程和線程
(1)進(jìn)程:是正在運(yùn)行的程序,是系統(tǒng)進(jìn)行資源分配和調(diào)用的獨(dú)立單位,每一個進(jìn)程都有它自己的內(nèi)存空間和系統(tǒng)資源。
(2)線程:是進(jìn)程中的單個順序控制流,是一條執(zhí)行路徑。單線程:一個進(jìn)程如果只有一條執(zhí)行路徑,則稱為單線程程序。多線程:一個進(jìn)程如果有多條執(zhí)行路徑,則稱為多線程程序。
2、實現(xiàn)多線程方式一:繼承Thread類
(1)方法介紹
(2)實現(xiàn)步驟:
- 定義一個類MyThread繼承Thread類
- 在MyThread類中重寫run()方法
- 創(chuàng)建MyThread類的對象
- 啟動線程
(3)兩個小問題
a、為什么要重寫run()方法?
因為run()是用來封裝被線程執(zhí)行的代碼
b、run()方法和start()方法的區(qū)別?
run():封裝線程執(zhí)行的代碼,直接調(diào)用,相當(dāng)于普通方法的調(diào)用。start():啟動線程;然后由JVM調(diào)用此線程的run()方法
3、設(shè)置和獲取線程名稱
方法介紹:
4、線程優(yōu)先級
(1)線程調(diào)度
分時調(diào)度模型:所有線程輪流使用 CPU 的使用權(quán),平均分配每個線程占用 CPU 的時間片。搶占式調(diào)度模型:優(yōu)先讓優(yōu)先級高的線程使用 CPU,如果線程的優(yōu)先級相同,那么會隨機(jī)選擇一個,優(yōu)先級高的線程獲取的 CPU 時間片相對多一些。Java使用的是搶占式調(diào)度模型。假如計算機(jī)只有一個 CPU,那么 CPU 在某一個時刻只能執(zhí)行一條指令,線程只有得到CPU時間片,也就是使用權(quán),才可以執(zhí)行指令。所以說多線程程序的執(zhí)行是有隨機(jī)性,因為誰搶到CPU的使用權(quán)是不一定的。
(2)優(yōu)先級相關(guān)方法
5、線程控制
相關(guān)方法
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)語法,Java多線程練習(xí)題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743