首页 > java笔记 > 在Java中实现等待几秒的方法

在Java中实现等待几秒的方法

更新:

在Java中,最常见的等待几秒或者延时执行的方法主要是Thread类的sleep方法,和Object类的wait方法。

一、使用Thread.sleep方法进行延时

Thread.sleep方法是一个静态方法,调用此方法可以让当前线程暂停执行指定的时间,释放CPU资源,使得其他线程可以得到更多的执行机会。如果没有停止请求或者中断,则线程在指定的时间过后会自动恢复。

public void waitSeconds(int seconds){
    try{
        //1000毫秒等于1秒
        Thread.sleep(seconds * 1000);
    }catch(InterruptedException e){
        e.printStackTrace();
    }
}

需要注意的是,Thread.sleep可能会抛出InterruptedException,你需要做好异常处理或者向上抛出异常。

二、使用Object.wait方法进行延时

Object.wait方法是用于线程间通信的方法之一,当一个线程执行了某个对象的wait方法后,该线程会进入该对象的等待池等待唤醒,而不是立即执行接下来的代码。

synchronized (lock){
    try {
        //等待5秒
        lock.wait(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

当使用Object的wait方法时,必须要在synchronized块或者方法中使用,否则会抛出IllegalMonitorStateException异常。Object.wait也会抛出InterruptedException,必须进行处理。

以上就是在Java中实现等待几秒的常见方法,希望对你的使用有所帮助。

顶部