如何使用Java线程睡眠中()

  介绍

这篇文章主要为大家展示了如何使用Java线程中睡眠(),内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

Thread . Sleep()是线程类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常. .主要方法如下:

【一】睡眠(长,米尔斯),线程睡眠,米尔斯毫秒

【乙】睡眠(长,米尔斯,int nano),,线程睡眠,米尔斯毫秒+ nano纳秒

Api文档:

如何使用Java线程中睡眠()

注意:在哪个线程里面调用睡眠()方法就阻塞哪个线程。

公共类SleepDemo {
  公共静态void main (String [] args)抛出InterruptedException {
  过程过程=new过程();
  线程的线程=新线程(进程);
  thread.setName(“线程Process");
  thread.start ();
  
  for (int i=0;我& lt;10;我+ +){
  System.out.println (Thread.currentThread () . getname() +“——祝辞;“+ i);//阻塞主要线程,休眠一秒钟
  thread . sleep (1000);
  }
  }
  }/* *
  *线程类
  */类过程实现Runnable {
  
  @Override
  公共空间run () {
  
  for (int i=0;我& lt;10;我+ +){
  System.out.println (Thread.currentThread () . getname() +“——祝辞;“+ i);//休眠一秒钟
  尝试{
  thread . sleep (1000);
  }捕捉(InterruptedException e) {
  e.printStackTrace ();
  }
  }
  
  }
  }

执行结果:主要线程执行一次之后休眠一秒钟,让出cpu,此流程线时程执行一次然后又休眠一秒,依次执行。

如何使用Java线程中睡眠()

下面以一个倒计时的功能来进一步说明睡眠()方法的使用:

/* *   * @Description:线程休眠睡()方法   * @Author: weishihuai   * @Date: 2018/11/11 21:31   * & lt; p>   * 1。注意:睡眠()方法使用的位置,如果使用在主要线程执行代码中,则阻塞的是主要线程。如果在其他线程执行的代码中,则阻塞的是执行这些代码的线程   * 2。案例:倒计时功能   */公开课TestSleepThread {   公共静态void main (String [] args)抛出InterruptedException {   倒计时(10000);   }/* *   *倒计时方法   *   * @param米尔斯倒计时开始的时间距离当前时间多少毫秒   */公共静态孔隙倒计时(长mills) {   日期endDate=new日期(System.currentTimeMillis() +工厂);   长endTime=endDate.getTime ();      而(真){   system . out。println(新SimpleDateFormat (“hh: mm: ss") .format (endDate));//下一秒时间   endDate=new日期(endDate.getTime () - 1000);//休眠一秒钟   尝试{   thread . sleep (1000);   }捕捉(InterruptedException e) {   e.printStackTrace ();   }   如果(endTime - endDate.getTime()比;米尔斯){   打破;   }   }   }      }

执行结果:

如何使用Java线程中睡眠()

【一】睡眠()方法是线程类的静态方法,如果调用线程对象.sleep()方法并不是该线程就休眠,反正在哪一个线程里面执行了睡眠()方法哪一个线程就休眠。

【乙】线程睡眠到期自动苏醒,并返回到可运行状态(就绪),不是运行状态。

以上就是关于如何使用Java线程睡眠中()的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

如何使用Java线程睡眠中()