while迴圈 執行緒池

2021-10-06 15:19:21 字數 439 閱讀 2892

public class volatiletest2  catch (interruptedexception e) 

system.out.println(thread.currentthread().getname() + ":" + ticket--);

}});

}executorservice.shutdown();

}}

自己寫了這樣一段**,本來以為執行緒池只會執行十次,結果發現最後的ticket都出現負數了。經過仔細的分析發現:

首先第一次當ticket等於10時,進入while迴圈,將乙個任務(注意這個任務有個sleep方法)交給執行緒池,此時執行緒池裡面的任務因為有sleep方法,還未能執行到ticket--,因此ticket仍然是10,繼續執行上述邏輯。也就是說從10變成9過程這段時間中,已經有很多個任務被扔到了執行緒池中。

java Timer 定時迴圈執行緒造成系統時鐘混亂

問題的現象描述 tomcat下的web工程中的timer 定時迴圈執行緒啟動後,會導致系統時鐘慢慢的變快,一段時間後系統時鐘又突然變正常,timer 每秒重複執行程式一次,這種現象反覆的出現。但這種現象並不是必現的,同樣的程式在另一台xp的系統上執行則不會出現此種情況。系統環境描述 作業系統 win...

執行緒池迴圈執行

using system using system.collections.generic using system.linq using system.text using system.threading public class lockobj 正處理佇列 public queuequeuep...

for迴圈 while迴圈

迴圈結構 當重複執行相同的 或者是相似的 時。迴圈三要素 1 迴圈變數的宣告 用於控制迴圈次數的迴圈因子 2 迴圈條件 用於判斷是否執行相同或相似內容 迴圈體 的條件 3 迴圈變數的改變方向 向著迴圈結束的方向改變。1 for迴圈 語法 for 變數的宣告和初始化 迴圈條件 變數的改變方向 執行邏輯...