舞臺休眠sleep(50) 的理解 請大家?guī)臀铱纯磳幔?/h1>
主要在于這個(gè)yield()方法
yield()讓出線程后--》 程序應(yīng)該已經(jīng)跳出當(dāng)前軍隊(duì)這個(gè)線程了--》然后隋軍,起義軍,舞臺三條線程開始爭奪運(yùn)行權(quán), 但是正好這時(shí)設(shè)置了 舞臺休眠sleep(50) 導(dǎo)致舞臺無法參與競爭--》所以只有隋軍和起義軍參與爭奪。?
而且整個(gè)程序運(yùn)行時(shí)間正好就是舞臺休眠的時(shí)間 ,舞臺休眠完成后 --》隋軍和起義軍停止攻擊 (keepRunning=false) --》最后中斷舞臺線程(join()) .
所以我理解為:打印結(jié)果輸出的內(nèi)容全部都是在舞臺休眠sleep(50)(50毫秒)內(nèi)完成的對嗎?
主要在于這個(gè)yield()方法
yield()讓出線程后--》 程序應(yīng)該已經(jīng)跳出當(dāng)前軍隊(duì)這個(gè)線程了--》然后隋軍,起義軍,舞臺三條線程開始爭奪運(yùn)行權(quán), 但是正好這時(shí)設(shè)置了 舞臺休眠sleep(50) 導(dǎo)致舞臺無法參與競爭--》所以只有隋軍和起義軍參與爭奪。?
而且整個(gè)程序運(yùn)行時(shí)間正好就是舞臺休眠的時(shí)間 ,舞臺休眠完成后 --》隋軍和起義軍停止攻擊 (keepRunning=false) --》最后中斷舞臺線程(join()) .
所以我理解為:打印結(jié)果輸出的內(nèi)容全部都是在舞臺休眠sleep(50)(50毫秒)內(nèi)完成的對嗎?
2016-03-24
不不,第一這個(gè)yield(),只是在軍隊(duì)這個(gè)線程里,和舞臺沒有關(guān)系;第二休眠50毫秒是整個(gè)舞臺停止進(jìn)程50毫秒,舞臺停止的50毫秒中,軍隊(duì)線程是繼續(xù)執(zhí)行的;第三join()方法執(zhí)行后會讓出所有資源給它的對象,而在打印的輸出實(shí)在無時(shí)無刻不進(jìn)行的,也就在舞臺里的打印輸出會因?yàn)槲枧_線程的休眠而休眠