我是靠谱客的博主 飘逸冷风,最近开发中收集的这篇文章主要介绍线程(3)--线程调度之sleep方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 线程的生命周期
  • 线程的生命周期中的几种状态
    新建
    就绪(可以运行)
    运行
    阻塞(挂起)
    死亡(结束)
    线程各个状态的转换图如下图所示:
    线程状态之间的转换
    线程转换过程:
    通过 new 线程名 创建线程(新建状态)。启动start方法(就绪状态)后,然后执行start方法里面的内容(运行状态),此时,发生了一个暂停事件(使用sleep、join或是wait方法),导致线程暂停(阻塞状态),暂停过后,线程运行结束( 死亡或结束状态 )
    sleep方法:(在Thread中,下面表格来源于JDK_API_1_6_zh_CN.CHM文件)
返回值类型方法名及参数解释
static voidsleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
static voidsleep(long millis, int nanos)在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。

使用sleep方法的小案例:

package com.thread.thread;
public class MyThread extends Thread{
    //重写run()方法
    //通过Alt+/ 可以提示从父类中继承了那些成员
    //需要注意:不能重写start方法,start方法需要为线程开辟空间
    @Override
    public void run() {
        System.out.println("Thread---线程开始运行了");
        try {
            //线程挂起,阻塞2秒钟后继续运行
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("Thread---线程运行结束了");
    }
}

sleep()阻塞2秒钟测试

package com.thread.thread;
public class TestMyThread {
    public static void main(String[] args){
        //创建线程对象
        MyThread thread = new MyThread();
        thread.start();
    }
}

总结:sleep方法是 谁运行,谁阻塞

最后

以上就是飘逸冷风为你收集整理的线程(3)--线程调度之sleep方法的全部内容,希望文章能够帮你解决线程(3)--线程调度之sleep方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部