添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

线程的优先级是优先级高的程序会先执行,而优先级低的程序会后执行。如果希望人为地控制线程,使正在执行的线程暂停,将CPU让给别的线程,这时可以使用静态方法sleep(long millis),该方法可以让当前正在执行的线程暂停一段时间,进入休眠等待状态。当前线程调用 sleep(long millis)方法 后,在指定时间(单位毫秒)内该线程是不会执行的,这样其他的线程就可以得以执行了。

sleep(long millis)方法声明会抛出InterrupledException异常,因此在调用该方法时应该捕获异常,或者声明抛出该异常。 下面通过一个案例来演示sleep(long millis)方法在程序中的使用。

public class Example02{
    public static void main(String[] args)throws Exception{
        //创建一个线程
        new Thread(new SleepThread()).start();
        for(int i=1;i<=10;i++){
            if(i == 5){
                Thread.sleep(2000);     //当前线程休眠2秒
            System.out.println("主线程正在输出:"+i);
            Thread.sleep (500);     //当前线程休眠500毫秒
// 定义SleepThread类实现Runnable接口
class SleepThread implements Runnable{
    public void run(){
        for (int i=1;i<=10; i++){
            if(i ==3){
                try {
                    Thread.sleep(2000);//当前线程休眠2秒
                }catch(InterruptedException e){
                    e.printStackTrace();
            System.out.println("SleepThread线程正在输出:"+i);
                Thread.sleep(500); //当前线程休眠500毫秒
            }catch (Exception e){
                e.printStackTrace();

上面代码运行结果如下图所示。

代码中第15~31行代码定义了一个SleepThread类并实现了Runnable接口。在SleepThread类中重写了run()方法,run()方法中使用for循环打印线程输出语句;第26~30行代码使用sleep()方法设置线程休眠500毫秒;在第18~24行代码中使用if判断当变量i=3时,线程休眠2000毫秒;第4行中使用new关键词创建了一个SleepThread线程并启动;在第5~12行代码中使用for循环打印主线程的输出语句,并在第10行代码使用sleep()方法设置线程休眠500毫秒;在第6~8行代码中使用if判新出当变量i=5时,线程休眠2000毫秒。

本文转自:黑马程序员java开发培训课程 http://java.itheima.com

 相关文章:

Java线程的生命周期包括哪几种状态?

Java线程优先级:Thread类的优先级常量

线程的优先级是优先级高的程序会先执行,而优先级低的程序会后执行。如果希望人为地控制线程,使正在执行的线程暂停,将CPU让给别的线程,这时可以使用静态方法sleep(long millis),该方法可以让当前正在执行的线程暂停一段时间,进入休眠等待状态。当前线程调用sleep(long millis)方法后,在指定时间(单位毫秒)内该线程是不会执行的,这样其他的线程就可以得以执行了。sleep(long millis)方法声明会抛出InterrupledException异常,因此在调用该方法时应该捕获异 url_list=[ 'https://movie.douban.com/subject/1652587/reviews?sort=time&start=0', 'https://movie.douban.com/subject/1652587/reviews?sort=time&start=20', 让当前线程暂停执行,从运行状态进入阻塞状态,将CPU资源让给其他线程的调度方式,通过sleep()来实现。 sleep方法的定义: public static native void sleep(long millis) throws InterruptedException; 从定义可以看出,sleep方法是静态本地方法,可以通过对象调用,方法定义抛出InterruptedException直接继承自Exception,外部调用的时候必须手动处理异常。 sleep(long millis),调 public class ThreadTest06 { public static void main(String[] args) { //让当前线程进入休眠睡眠5 //当前线程是主线程!!!
Sleep可以让当前线程进行休眠,有如下两个方法: public static void sleep​(long millis) throws InterruptedException ,mills 毫 public static void sleep​(long millis, int nanos) throws InterruptedException ,millis 毫, nan...
sleep方法的使用 Thread类的方法 public static void sleep(long millis) 作用:在指定的毫数内让正在执行的线程休眠(暂停执行) 参数为休眠的时间,单位是毫 一个线程,使用sleep方法: package java_thread; class MyThread1 implements Runnable { @Override public void run() { for(int i=0; i<15 ; i++){
Java中可以使用Thread的sleep()方法让当前线程休眠一段时间。该方法传入一个毫数作为参数,表示线程需要休眠的时间长度。若希望线程休眠10,可以使用以下代码: try { Thread.sleep(10000); // 10000毫 = 10 } catch (InterruptedException e) { e.printStackTrace(); 在代码中,使用try-catch结构捕获InterruptedException,以确保线程在被中断时能够正确处理。该方法是静态方法,可以在任何地方直接调用。需要注意的是,在调用sleep()方法时,当前线程会被休眠,而其他线程继续执行,因此这个方法通常用于需要定时或协调不同线程操作的场合。