已采納回答 / 1533687848
就等于是你在等待辦業務,在辦業務的這個辦公室只能有一個人進去,lockObj對象就等于這個辦公室,外面等待的人就是這個辦公室所擁有的wait set,當一個人辦完業務時,辦公室會通知所有等待的人說可以進去了,那么這外面等待的所有的人就都同時獲得了平等的競爭進入辦公室的權力。
2016-06-01
已采納回答 / 萌萌噠貓頭鷹
在舞臺這個線程里面將兩個軍隊線程對象的KeepRunning屬性設置為false,從而結束了兩個軍隊線程。<...code...>在軍隊線程里面,keepRunning需用volatile修飾,表示它可以被不同線程訪問和修改。即:<...code...>
2016-05-05
已采納回答 / Wayaye
線程3在沒有爭奪到鎖的情況下肯定不會進入Wait Set等待了。這和你剛開始說的當線程1爭奪到鎖,而2、3沒有爭奪到時情況應該是一樣的,CPU應該是還沒有機會執行這條線程。一家之言。
2016-05-02
已采納回答 / meersun
在A線程中調用了B線程的join方法,意思是直到線程A執行完畢后才會執行線程B,所以這里的join只對舞臺線程起作用。對起義軍和隋軍線程,程咬金的join方法根本不起作用。我試了下,把keepRunning設為false的語句注釋掉,發現即使加上chengyaojin.join(),這兩個線程也不會停止,會一直運行下去。
2016-04-26
已采納回答 / qq_等風來_32
第一個問題 :隋軍的線程的start()在農民軍的start()之前,那么就是隋軍先啟動,但是這不意味他就能先得到CPU,啟動之后能不能得到cpu不一定第二個基本是這個意思,留給軍隊更多的執行時間,你可以注釋掉50毫秒看看運行結果,就能明白了,會發現軍隊的執行次數會少很多
2016-04-06
已采納回答 / Tong丶code
互斥:通常表現在多個線程競爭同一資源,比如這里只有一只筆,同時有幾個人要進行簽到,但資源(筆)唯一,線程(人)之間就存在競爭關系,并且同一時間只有一個線程(人)能夠持有這個資源(筆)。同步:同步就是協同步調,按預定的先后次序進行運行,如進程、線程同步,可理解為進程或線程A和B一塊配合,A執行到一定程度時要依靠B的某個結果,于是停下來,示意B運行;B依言執行,再將結果給A;A再繼續操作。(來源于百度百科)
2016-04-04
已采納回答 / 慕粉3131963
感覺是不可以的吧,,我也是初學。不調用notify方法會導致等待區里的線程一直得不到釋放,最終是否會導致等待區里的線程積壓,運行的線程越來越少
2016-04-03
已采納回答 / u_sicAsiaChina_0
不不,說明你還沒理解休眠到底什么意思。sleep()只是讓線程休眠一定時間,時間到了后會繼續執行線程。而且隋軍和起義軍又是兩個線程,一旦start()后,除非運行完或者主動讓出資源,又或者其他線程join()進來,否則是不會結束的
2016-03-24
已采納回答 / u_sicAsiaChina_0
不不,第一這個yield(),只是在軍隊這個線程里,和舞臺沒有關系;第二休眠50毫秒是整個舞臺停止進程50毫秒,舞臺停止的50毫秒中,軍隊線程是繼續執行的;第三join()方法執行后會讓出所有資源給它的對象,而在打印的輸出實在無時無刻不進行的,也就在舞臺里的打印輸出會因為舞臺線程的休眠而休眠
2016-03-24
已采納回答 / meersun
一直可以這樣簡寫,因為你分成兩步也一樣,這里的s你還得給起個名字,而且這個名字以后也用不到。所以直接簡寫就可以。如果這個stage名字以后還要用,那就必須分開寫了。
2016-03-22