課程
/后端開發
/Java
/深入淺出Java多線程
問什么是交替運行?為什么不是Mr的100登臺結束后Ms才運行。
還有就是中途暫停,為什么Mr運行10次后直接運行Ms,中途并沒有1秒的停頓,Ms可以正常暫停
2017-03-08
源自:深入淺出Java多線程 2-3
正在回答
因為張三還沒吃完飯啊 sleep還不到1秒呢
張三不用,李四就可以用電腦了,李四不用了,這時張三又可以用,這樣的話,電腦應該一直處于使用狀態,為什么每次張三用完了。李四馬上就可以使用,而李四用完了張三要等會才去用。
舉個例子,
老板讓張三去用公司電腦寫C語言,讓李四用公司電腦去寫java。但公司只有一臺電腦。
這時張三先搶到了電腦,寫了2行之后,張三餓了去吃飯,這時李四看到電腦空了出來便開始寫java,等張三回來之后發現電腦已經被李四用了,所以只能在旁邊等待,過了一會李四也餓了,便出去吃飯,張三便繼續用電腦些c語言。
這個流程中你可以理解張三是Mr,李四是Ms,公司電腦是cpu,當張三餓了之后(即sleep),那么電腦就空了出來,李四就可以使用來工作了,這個就是交替運行。同時張三餓了去吃飯的時候并不會影響李四并沒有去吃飯,所以沒有停頓,即不會出現張三去吃飯(sleep),而李四沒有和張三一起去吃飯的情況。
cyc川 提問者
舉報
帶你一起深入淺出多線程,掌握基礎,展望進階路線
6 回答請問,在這個例子中,為什么不能用 thread.sleep(1000),而只能用 Thread.sleep(1000)
3 回答這個運行結果沒有順序啊
1 回答線程wait的執行順序
1 回答為什么主線程Thread.sleep(1000)后,會清除別的線程的interrupt狀態呢?
2 回答請教一下呢,run方法調用和線程運行順序的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-11
因為張三還沒吃完飯啊 sleep還不到1秒呢
2017-03-10
張三不用,李四就可以用電腦了,李四不用了,這時張三又可以用,這樣的話,電腦應該一直處于使用狀態,為什么每次張三用完了。李四馬上就可以使用,而李四用完了張三要等會才去用。
2017-03-09
舉個例子,
老板讓張三去用公司電腦寫C語言,讓李四用公司電腦去寫java。但公司只有一臺電腦。
這時張三先搶到了電腦,寫了2行之后,張三餓了去吃飯,這時李四看到電腦空了出來便開始寫java,等張三回來之后發現電腦已經被李四用了,所以只能在旁邊等待,過了一會李四也餓了,便出去吃飯,張三便繼續用電腦些c語言。
這個流程中你可以理解張三是Mr,李四是Ms,公司電腦是cpu,當張三餓了之后(即sleep),那么電腦就空了出來,李四就可以使用來工作了,這個就是交替運行。同時張三餓了去吃飯的時候并不會影響李四并沒有去吃飯,所以沒有停頓,即不會出現張三去吃飯(sleep),而李四沒有和張三一起去吃飯的情況。