1. 程式人生 > >線程的sleep()方法和yield()方法有什麽區別?

線程的sleep()方法和yield()方法有什麽區別?

rup 方法 cpu led 相關 什麽 inter 阻塞 lock

1.sleep()方法給其他線程運行機會時不考慮線程的優先級,因此會給低優先級的線程以運行的機會

2.yield()方法只會給相同優先級或更高優先級的線程以運行的機會

3.線程執行sleep()方法後轉入阻塞(blocked)狀態,而執行yield()方法後轉入就緒(ready)狀態

4.sleep()方法聲明會拋出InterruptedException,而yield()方法沒有聲明任何異常

5.sleep()方法比yield()方法具有更好的移植性(跟操作系統CPU調度相關)

線程的sleep()方法和yield()方法有什麽區別?