更新時(shí)間:2020-05-21 11:21:57 來源:動力節(jié)點(diǎn) 瀏覽2289次
1.join線程
join()方法時(shí)Java的Thread類提供的讓一個(gè)線程等待另一個(gè)線程完成的方法。當(dāng)在某個(gè)程序的執(zhí)行流中調(diào)用其他線程的join()方法時(shí),調(diào)用線程將被阻塞,直到被join()方法加入的join線程執(zhí)行完成為止。
2.后臺線程
后臺線程(DaemonThread)是在后臺運(yùn)行的,它的任務(wù)是為其他的線程提供服務(wù),也被稱為守護(hù)線程或精靈線程。
后臺線程的特征:如果所有的前臺線程都死亡,后臺線程會自動死亡。
調(diào)用Thread對象的setDaemon(true)方法可以將一個(gè)指定的線程設(shè)置為后臺線程。
3.線程睡眠:sleep
Thread類的sleep()方法用來暫停線程的執(zhí)行,調(diào)用sleep()的線程將會進(jìn)入阻塞狀態(tài)。Thread類的sleep()方法是Thread類的靜態(tài)方法。
4.線程讓步:yield
yield()方法也是Thread類提供的靜態(tài)方法,讓線程暫停執(zhí)行,與sleep()方法不同的是,yeild()方法不會將線程阻塞,當(dāng)某個(gè)線程調(diào)用了yield()方法時(shí),該線程會暫停執(zhí)行進(jìn)入就緒狀態(tài),只有優(yōu)先級與當(dāng)前線程相同或者優(yōu)先級比當(dāng)前線程高的處于就緒狀態(tài)的線程才會獲得執(zhí)行的機(jī)會。
執(zhí)行上面的程序?qū)吹皆趇=20的時(shí)候yt1線程執(zhí)行yield()方法,因?yàn)閥t2線程與yt1線程處于同一優(yōu)先級別,所以yt2線程將會獲得執(zhí)行權(quán),然后在yt2執(zhí)行到i=20的時(shí)候,yt2調(diào)用線程讓步方法yeild(),同樣的原因線程yt1將會獲得執(zhí)行權(quán)。
5.改變線程的優(yōu)先級
Java線程中每個(gè)都有一定的優(yōu)先級,優(yōu)先級高的線程獲得執(zhí)行的機(jī)會多,而優(yōu)先級低的線程獲得執(zhí)行的機(jī)會少。對于創(chuàng)建的線程,Java默認(rèn)的優(yōu)先級同創(chuàng)建它的父線程的優(yōu)先級相同。如果想改變線程的優(yōu)先級,則可以使用Thread類提供的setPriority(intnewPriority)方法設(shè)置線程的優(yōu)先級,而getPriority()方法返回線程的優(yōu)先級。Java中的優(yōu)先級的參數(shù)范圍是1-10的整數(shù)。
Javase相關(guān)視頻教程
2020JavaSE進(jìn)階:http://m.ilovecolors.com.cn/javavideo/144.html
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Javase視頻教程推薦,線程控制”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743