在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中实现等待几秒的常见方法,希望对你的使用有所帮助。
原创文章,作者:CQUY,如若转载,请注明出处:https://www.beidandianzhu.com/g/1387.html