前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多线程(二)-线程的状态

多线程(二)-线程的状态

作者头像
化羽羽
发布2022-10-28 11:36:24
3110
发布2022-10-28 11:36:24
举报
文章被收录于专栏:化羽学Java

大佬的理解->Jaca多线程(一)多线程基础

1、线程状态关系

2、线程的状态分析

线程的五种状态:创建-就绪-运行-阻塞-死亡

1.创建状态 创建线程对象之后,尚未调用其start方法之前;

2.可运行状态:就绪和运行 1)当调用start()方法启动线程之后,如果cup没有给当前线程分配资源,当前线程就是就绪状态; 2)一旦获到cpu分配的资源,就进入运行状态;

3.运行状态:线程获得cpu资源,开始运行;

4.阻塞状态 一个正在运行的线程因某种原因不能继续运行时,进度阻塞状态。阻塞状态一种“不可运行”的状态,而处于这种状态的线程在得到一个特定的事件之后会转回可运行的状态;

5.死亡状态 一个线程的run()方法执行完毕,stop()方法被调用或在运行过程中出现未捕捉的异常时,线程进入死亡状态,线程就不可以再次执行;

3、案例

案例

代码语言:javascript
复制
public class MyThreadState implements Runnable{
    @Override
    public void run() {
        System.out.println("---3 运行状态---");

        //线程休眠,单位是毫秒
        try {
            System.out.println("---4.1 进入阻塞--");
            Thread.sleep(2000);
            System.out.println("---4.2 恢复运行状态---");
        } catch (InterruptedException e) {
            e.printStackTrace();
            System.out.println("---5.1死亡状态---");
        }
        System.out.println("---5.2 死亡状态---");
    }

    public static void main(String[] args) {
        //线程的状态演示
        MyThreadState myThreadState = new MyThreadState();
        Thread thread = new Thread(myThreadState);
        System.out.println("---1 创建状态---");

        thread.start();
        System.out.println("---2 就绪状态---");


    }
}

运行结果

代码语言:javascript
复制
---1 创建状态---
---2 就绪状态---
---3 运行状态---
---4.1 进入阻塞--
---4.2 恢复运行状态---
---5.2 死亡状态---
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、线程状态关系
  • 2、线程的状态分析
  • 3、案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档