JAVA中 如何使用延迟?

JAVA中 如何使用延迟?,第1张

Java中主要有两种方法来实现延迟,即:Thread和梁庆Timer\x0d\x0a\x0d\x0a1、普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如\x0d\x0atry \x0d\x0a{ \x0d\x0aThread.currentThread().sleep(1000)//毫秒 \x0d\x0a} \x0d\x0acatch(Exception e){} \x0d\x0a在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线 程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。\x0d\x0a\x0d\x0a2、但是如果要使用精确延时,最好使用Timer类:\x0d\x0aTimer timer=new Timer()//实例化Timer类 \x0d\x0atimer.schedule(new TimerTask(){ \x0d\x0apublic void run(){ \x0d\x0aSystem.out.println("退出") \x0d\x0athis.cancel()}},500)//五百毫秒 \x0d\x0a这种延时橡昌握比sleep精确。上述延时方法只运行一次,如果需要运行多次, 使用timer.schedule(new MyTask(), 1000, 2000)则每间隔2秒执行迅悄MyTask()

延时 *** 作,可以用下列伏缓方案:

方案1:线程阻告坦断

try {

Thread.currentThread().sleep(2000)//阻断2秒

} catch (InterruptedException e) {

e.printStackTrace()

}

方案缺友模2:使用Handler的postDelayed延迟 *** 作。

mHandler .postDelayed(mRunnable, 3000)// 在Handler中执行子线程并延迟3s。

private Runnable mRunnable = new Runnable() {

@Override

public void run() {

mHandler.sendEmptyMessage(1)

}

}

Handler mHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg)

//3s后执行代码

}

}。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8261122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存