最贊回答 / qq_一只瓜_0
一個定義為volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器里的備份。
2017-02-23
最新回答 / 慕移動9181930
童鞋,你說的前半部分關于fixed定位的內容是對的,但是以下說法你說錯了:margin是盒子與外邊界的距離,那么兩個box之間也距離也就是30px
2017-02-14
已采納回答 / 阿非利加
Stage類下應該有兩個方法 一個? Run() 一個main()方法? 這兩個方法應該都在Stage下面, 你的都寫在了run()里面, 簡單來說 你在? public static void main(String[] args){}這個main方法的上面 加一個 } 就好了
2017-02-12
已采納回答 / 亂星海
三個方法里至少有一個是notifyAll。假設三個都是notify(),當方法c運行完后,flag為1,此時如果a和b都已經在Wait Set中,且隨機喚醒的是b,那么b隨機又進入Wait set,c也進入Wait set,此時三個線程全部進入Wait set,造成了死鎖。
2017-02-09
已采納回答 / 福山潤
代碼1:兩個線程同時走,他倆公用一個FlagSender對象里面的flag,當線程t1走第一遍時,flag等于false,不等待直接輸出,然后將falg致成true,線程t1等待,這時候線程t2 while里面的!f.isFlag() 為false,所以往下進行輸出又將flag致成false,這時線程t1又開始執行。以此類推。代碼2:兩個對象都在while里面進行死循環,所以只打印一次。
2017-02-04
最贊回答 / 蔚然成麟er
是中斷不是終斷;比如講師在本節課中的一個例子:<...code...>我們知道main也一個主線程,在執行到程序的入口,也就是main()方法的時候,程序就會產生一個線程,然后調用start()的時候會產生...
2017-01-24
已采納回答 / bbug
java多線程可以近似看成同時執行,不過本質上計算機能同時工作的線程數是有限個的(取決于你的CPU)老師演示的時候農民軍和隋軍交替結果看起來應該是至少有兩個線程是同時工作的。而你這個明顯是僅分配給了這個程序一個線程。多線程是為了解決某些應用上需要等待其他的結果(比如瀏覽器訪問一個網址需要等待服務器返回HTML文件才能繼續執行顯示頁面的操作)才能繼續執行,那么這段時間cpu可以去執行其他線程的程序。但是如果這個線程可以一口氣執行下去的話,中途其他線程是沒有辦法執行的。-----------------以下是...
2017-01-04
最贊回答 / bbug
舞臺縣城控制了兩個軍隊的開始(前2行)和結束(后2行)。換句話說,舞臺線程不運行,軍隊的線程就不會執行sleep方法是讓當前線程暫停指定的時間即50毫秒,這個50毫秒在軍隊的啟動和結束之間,也就是軍隊進攻只有50毫秒的時間。如果沒有暫停應該是各自只攻擊一輪(取決于處理器速度)因為在第一輪還沒結束的時候已經執行了最后兩行的賦值了。著重說一點,sleep休眠的僅僅是舞臺線程,兩個軍隊的線程還在執行,因為sleep是寫在舞臺線程里面的(這段代碼全是舞臺線程的)。
2017-01-04