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