java中sleep方法不會釋放鎖,但是又說sleep會把執(zhí)行權(quán)讓給其他線程,這不是前后矛盾嗎?沒釋放鎖其他線程就是拿到執(zhí)行權(quán)不還是執(zhí)行不了嗎?有沒有大神給指點下~
3 回答

HUX布斯
TA貢獻1876條經(jīng)驗 獲得超6個贊
我不知道你所謂的鎖指的是啥玩意.但是sleep的意思就是當前線程暫停了,這個你明白吧.所謂的執(zhí)行權(quán)讓給其他線程這么描述也不太好.因為一個線程的sleep是跟其他線程無關(guān)的.不影響其他線程執(zhí)行.當然,sleep線程消耗cpu的運算高的話,sleep了,確實可以是別的線程執(zhí)行的更流暢.也許這就是它"讓"的意思.

元芳怎么了
TA貢獻1798條經(jīng)驗 獲得超7個贊
這個兩個操作并不矛盾,sleep不釋放鎖代表其他線程不會獲取到當前線程所持有的所有的鎖,但是如果有線程不依賴sleep線程所持有的鎖,則線程有機會獲得cpu的持行權(quán)
添加回答
舉報
0/150
提交
取消