鄭州婦科醫(yī)院正規(guī)有哪些廣州seo營(yíng)銷培訓(xùn)
yield和sleep對(duì)比
sleep | yield |
---|---|
sleep會(huì)導(dǎo)致當(dāng)前線程暫停指定的時(shí)間,沒(méi)有CPU時(shí)間片的消耗。 | yield只是對(duì)CPU調(diào)度器的一個(gè)提示,如果CPU調(diào)度器沒(méi)有忽略這個(gè)提示,它會(huì)導(dǎo)致線程上下文的切換。 |
sleep會(huì)使線程短暫block ,會(huì)在給定的時(shí)間內(nèi)釋放CPU資源。 | yield會(huì)使RUNNING 狀態(tài)的Thread進(jìn)入RUNNABLE 狀態(tài)(如果CPU調(diào)度器沒(méi)有忽略這個(gè)提示的話) |
sleep幾乎百分之百地完成了給定時(shí)間的休眠 ,而yield的提示并不能一定擔(dān)保。 | sleep幾乎百分之百地完成了給定時(shí)間的休眠,而yield的提示并不能一定擔(dān)保。 |
一個(gè)線程sleep另一個(gè)線程調(diào)用interrupt會(huì)捕獲到中斷信號(hào) ,而yield則不會(huì)。 | 一個(gè)線程sleep另一個(gè)線程調(diào)用interrupt會(huì)捕獲到中斷信號(hào),而yield則不會(huì)。 |
-----------------------------------------------------------------------------讀書筆記摘自書名:Java高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì) 作者:汪文君