2 回答

TA貢獻1824條經(jīng)驗 獲得超8個贊
在Java中有時候需要使程序暫停一點時間,稱為延時。普通延時用Thread.sleep(int)方法,這很簡單。它將當前線程掛起指定的毫秒數(shù)。如
Java 代碼復制內(nèi)容到剪貼板
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception e){}
在這里需要解釋一下線程沉睡的時間。sleep()方法并不能夠讓程序"嚴格"的沉睡指定的時間。例如當使用5000作為sleep()方法的參數(shù)時,線 程可能在實際被掛起5000.001毫秒后才會繼續(xù)運行。當然,對于一般的應用程序來說,sleep()方法對時間控制的精度足夠了。
但是如果要使用精確延時,最好使用Timer類:
Java 代碼復制內(nèi)容到剪貼板
Timer timer=new Timer();//實例化Timer類
timer.schedule(new TimerTask(){
public void run(){
System.out.println("退出");
this.cancel();}},500);//五百毫秒
這種延時比sleep精確。上述延時方法只運行一次,如果需要運行多次, 使用timer.schedule(new MyTask(), 1000, 2000); 則每間隔2秒執(zhí)行MyTask()

TA貢獻1877條經(jīng)驗 獲得超6個贊
最直接的方法one1.stop();Thread.sleep(3000);//這里會有異常,處里一下就行one2.stop();Thread.sleep(3000);one3.stop();
添加回答
舉報