1. sleep()方法給其他線程運行機會時不考慮線程的優(yōu)先級,因此會給低優(yōu)先級的線程以運行的機會;yield()方法只會給相同優(yōu)先級或更高優(yōu)先級的線程以運行的機會;
2. 線程執(zhí)行 sleep()方法后轉入阻塞(blocked)狀態(tài),而執(zhí)行 yield()方法后轉入就緒(ready)狀態(tài);
3. sleep()方法聲明拋出 InterruptedException,而 yield()方法沒有聲明任何異常;
4. sleep()方法比 yield()方法(跟操作系統(tǒng) CPU 調度相關)具有更好的可移植性,通常不建議使用yield()方法來控制并發(fā)線程的執(zhí)行。