java中有兩種常用的延遲方法。
一是使用通過實例化Timer對象實現,如下:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("延遲1.5s");
//延遲特定時間後執行該語句(public void run()的花括號裏的語句)
} }, 1500); //這裏的數字1500意思是延遲1500毫秒
可以看到:
public void run(){}中的語句即時延遲特定時間後所執行的語句,後面的數字爲延遲時間,單位:毫秒。
二是使用Thread類的方法,如下:
Thread.currentThread();
Thread.sleep(2333); //延遲2333毫秒
這種方法是全局性的,即只要某一個類裏面使用了該延遲語句,運行這個類時就會先執行該延遲語句,再執行該類的其它語句。
而上面的第一種方法(Timer)就與此不同,即Timer不會對全局造成影響,即運行這個類時,會先執行Timer上面的其它語句(即按照正常順序),再執行Timer裏面設定的延遲後執行的語句(即上述的public void run()裏的語句),再向下執行語句。
所以大家使用的時候要有所區別。