Java兩種延時-thread和timer

在Java中有時候需要使程序暫停一點時間,稱爲延時。普通延時用Thread.sleep(int)方法,這很簡單。它將當前線程掛起指定的毫秒數。如

[java] view plain copy

  1. try   
  2. {   
  3. Thread.currentThread().sleep(1000);//毫秒   
  4. }   
  5. catch(Exception e){}  

在這裏需要解釋一下線程沉睡的時間。sleep()方法並不能夠讓程序"嚴格"的沉睡指定的時間。例如當使用5000作爲sleep()方法的參數時,線 程可能在實際被掛起5000.001毫秒後纔會繼續運行。當然,對於一般的應用程序來說,sleep()方法對時間控制的精度足夠了。

但是如果要使用精確延時,最好使用Timer類:

[c-sharp] view plain copy

  1. Timer timer=new Timer();//實例化Timer類   
  2. timer.schedule(new TimerTask(){   
  3. public void run(){   
  4. System.out.println("退出");   
  5. this.cancel();}},500);//五百毫秒  

這種延時比sleep精確。上述延時方法只運行一次,如果需要運行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 則每間隔2秒執行MyTask()

轉載自https://blog.csdn.net/zmhinzaghi/article/details/5837735

發佈了36 篇原創文章 · 獲贊 163 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章