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