伊莉討論區
標題:
timer問題
[打印本頁]
作者:
cm101115
時間:
2016-7-11 02:30 PM
標題:
timer問題
以下是程式碼
public class MyTimerII {
int j=0,i=0;
MyTimerII(){
mytime.start();
while(j!=1)
{
i++;
System.out.println("i="+i+",j="+j);
}
System.out.print("end");
System.exit(0);
}
Timer mytime =new Timer(1,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
j+=1;
}
});
public static void main(String[] args) {
MyTimerII m=new MyTimerII();
}
}不知為何,有時j會直接跳到2,然後就直接無窮了?
作者:
kwj
時間:
2016-7-15 10:16 AM
使用 Timer 時,系統會建立出另一個 Thread 去執行 Timer 內的動作
所以跟 main() 會是兩個不同的 Thread
在不同 Thread 之間執行時,無法預期程式的執行順序
每次執行時順序也不會完全相同(因為這跟 CPU 等其他很多事情的運作有關)
作者:
jackyo04
時間:
2018-7-6 04:43 PM
你可以試著將時間顯示出來,然後執行程式,並在開啟另外一個吃效能的程式,你就可以理解為何會突然跳到2了
歡迎光臨 伊莉討論區 (http://a04.eyny.com/)
Powered by Discuz!