Java线程的生命周期

Java线程的生命周期

什么是线程

线程是进程的一个实体,是CPU调度和分派的最小单位。

进程线程协程

进程:

是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位

线程:

是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。

协程:

是一种比线程更加轻量级的存在。一个线程也可以拥有多个协程。其执行过程更类似于子例程,或者说不带返回值的函数调用。

线程的生命周期

主要分为新建、就绪、运行、阻塞、死亡五种状态
在这里插入图片描述

  • 创建

            //创建线程  新建状态
            Thread thread = new Thread() {
                @Override
                public void run() {
                    System.out.println("test");
                    super.run();
                }
            };
            //就绪状态,获取到cpu就可以执行
            thread.start();
    
  • 就绪

    线程调用start方法

  • 运行

    调用start发方法并获取到CPU的时间拥有执行权

  • 阻塞

    等待阻塞:运行的线程调用wait方法,JVM会将该线程放入等待池中

    同步阻塞:运行的线程在获取对象的同步锁时,该锁被其他线程占用,则也会进入等待

    其他阻塞:运行线程执行sleep和join方法或者发出IO请求时,JVM会将线程置为阻塞状态。

  • 死亡

其他阻塞:运行线程执行sleep和join方法或者发出IO请求时,JVM会将线程置为阻塞状态。

  • 死亡

    (1)run 方法执行完毕(2)线程抛出一个未捕获的Exception或Error(3)直接调用该线程的stop()方法来结束该线程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值