yield()應該做的是讓當前運行線程回到可運行狀態(tài),以允許具有相同優(yōu)先級的其他線程獲得運行機會。
因此,使用yield()的目的是讓相同優(yōu)先級的線程之間能適當?shù)妮嗈D(zhuǎn)執(zhí)行。
但是,實際中無法保證yield()達到讓步目的,因為讓步的線程還有可能被線程調(diào)度程序再次選中。
結(jié)論:yield()從未導致線程轉(zhuǎn)到等待/睡眠/阻塞狀態(tài)。
在大多數(shù)情況下,yield()將導致線程從運行狀態(tài)轉(zhuǎn)到可運行狀態(tài),但有可能沒有效果。