剛開始的時(shí)候經(jīng)常會(huì)把這兩類的方法搞混了,慢慢接觸多了,一定要弄清楚了。
(1)管理線程的方法
start:不用多說,啟動(dòng)一個(gè)線程的方法。調(diào)用該方法后,線程即進(jìn)入可運(yùn)行狀態(tài),也就是進(jìn)入可運(yùn)行的線程池了。
sleep:線程休眠,將一個(gè)運(yùn)行時(shí)的線程,將其狀態(tài)變?yōu)榭蛇\(yùn)行狀態(tài),然后加入到和其他處于可運(yùn)行狀態(tài)下的線程搶奪運(yùn)行機(jī)會(huì)。換句話說,sleep的時(shí)間是該線程不執(zhí)行的最短時(shí)間。
yield:使得當(dāng)前線程進(jìn)入可運(yùn)行狀態(tài),以允許具有相同狀態(tài)優(yōu)先級(jí)的其他線程獲得運(yùn)行機(jī)會(huì)。但是不保證,剛進(jìn)入可運(yùn)行狀態(tài),又被選中進(jìn)入運(yùn)行狀態(tài)。
join:非靜態(tài)方法join,有點(diǎn)搶線程的意思。一旦某個(gè)線程實(shí)例t調(diào)用join方法,則當(dāng)前線程變?yōu)榭蛇\(yùn)行狀態(tài),直到線程t運(yùn)行完畢為止。
(2)線程間協(xié)作的方法