yield問題
請問老師以及各位大神,就這個程序而已,加入yield方法跟沒加效果應該是一直的吧,在隋軍以及農(nóng)民軍各自運行的for循環(huán)里面,本來就應該發(fā)生資源的爭搶,即:當隋軍運行完i=1時,這個時間就有可能農(nóng)民軍線程獲取到了資源,從而開始i=1。不知我的理解是否正確,請指教。謝謝!
請問老師以及各位大神,就這個程序而已,加入yield方法跟沒加效果應該是一直的吧,在隋軍以及農(nóng)民軍各自運行的for循環(huán)里面,本來就應該發(fā)生資源的爭搶,即:當隋軍運行完i=1時,這個時間就有可能農(nóng)民軍線程獲取到了資源,從而開始i=1。不知我的理解是否正確,請指教。謝謝!
2019-02-24
舉報
2019-06-20
你的意思是執(zhí)行結(jié)果的交替,但是在線程執(zhí)行中,是通過cpu分配時間進行的交替運行的
2019-05-06
不是這樣的,即使不加入yield方法,線程也會在CPU分配的時間到了之后會進行讓步,比如說CPU讓這個線程能執(zhí)行5ms,時間到了這個線程就一定會發(fā)生讓步操作,而加入了yield方法后,同樣cpu讓這個線程可以執(zhí)行5ms,但是5ms內(nèi)執(zhí)行到了yield方法,線程就會執(zhí)行讓步操作,而不會等到5ms完才執(zhí)行讓步操作