yieId()方法
yieId() 方法的作用是放棄當(dāng)前的 CPU 資源,將它讓給其他的任務(wù)去占用 CPU 執(zhí)行時間。但放棄的時間不確定,有可能剛剛放棄,馬上又獲得 CPU 時間片。
例 1
創(chuàng)建一個線程實現(xiàn)從 1 開始,共累加 5 千萬次,要求在線程中輸出開始運算時間、結(jié)束運算時間以及運算耗時時間。具體實現(xiàn)代碼如下:
在 MyThread12 線程類中調(diào)用 yield() 方法的代碼被注釋了,此時運行結(jié)果如下所示。
線程開始執(zhí)行時間:1540965620705 線程結(jié)束執(zhí)行時間:1540965620729 本次執(zhí)行用時:24毫秒!下面取消對調(diào)用 yieId() 方法的代碼注釋,再次運行程序,此時運行結(jié)果如下所示。
線程開始執(zhí)行時間:1540965685288 線程結(jié)束執(zhí)行時間:1540965696100 本次執(zhí)行用時:10812毫秒!對比兩次運行結(jié)果可以看到,調(diào)用 yieId() 方法后,線程的執(zhí)行時間明顯變長。
總結(jié)
- 上一篇: getId()方法的作用
- 下一篇: 停止(终止)线程