• 技术文章 >Java >java教程

    java中sleep的用法是什么

    coldplay.xixicoldplay.xixi2022-04-01 16:39:08原创15057

    java中sleep的用法是:强制当前正在执行的线程休眠(暂停执行),例如:【Thread.sleep(long millis)】当线程睡眠时它不会在苏醒之前返回到可运行状态;当睡眠时间到期后才会返回到可运行状态。

    java中sleep的用法是:

    Thread.sleep(long millis)Thread.sleep(long millis, int nanos)静态方法强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。

    1、线程睡眠的原因:线程执行太快,或者需要强制进入下一轮,因为Java规范不保证合理的轮换。

    2、睡眠的实现:调用静态方法

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace(); 
            }

    3、睡眠的位置:为了让其他线程有机会执行,可以将Thread.sleep()的调用放线程run()之内。这样才能保证该线程执行过程中会睡眠。

    public class TestSleep {
     
      public static void main(String[] args) {
       
        MyThread2 t1 = new MyThread2("TestSleep");
        t1.start();
          
         for(int i=0 ; i <10; i++)
                  System.out.println("I am Main Thread");
       }
     }
     
     class MyThread2 extends Thread {
      
        MyThread2(String s) {
         super(s);
         }
         
      public void run() {
        for(int i = 1; i <= 10; i++) {
         System.out.println("I am "+getName());
         try {
          sleep(1000); //暂停,每一秒输出一次
          }catch (InterruptedException e) {
          return;
         }
         }
       }
      }

    注意:

    实例:一个计数器,计数到100,在每个数字之间暂停1秒,每隔10个数字输出一个字符串

    public class MyThread extends Thread {
        public void run() {
            for (int i = 0; i < 100; i++) {
                if ((i) % 10 == 0) {
                    System.out.println("-------" + i);
                }
                System.out.print(i);
                try {
                    Thread.sleep(1000);
                    System.out.print("    线程睡眠1秒!\n");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        public static void main(String[] args) {
            new MyThread().start();
        }
    }

    推荐教程:《java视频教程

    以上就是java中sleep的用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java sleep
    上一篇:为何Java中String类是不可变的(详解) 下一篇:在java中如何方法重写?
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP中__sleep()方法详解• sleep()函数介绍• auto sleep怎么用• 聊聊javascript里的sleep()方法
    1/1

    PHP中文网