博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程的生命周期
阅读量:3949 次
发布时间:2019-05-24

本文共 633 字,大约阅读时间需要 2 分钟。

线程的生命周期可以简单看做是线程的生老病死,首先上图片:

New:新建状态

我们在类中新创建一个线程的时候,该线程就处于new状态,也就是调用start()方法之前线程所处的状态

Runnable:就绪状态

就绪状态包括:Ready状态和Running状态,Ready状态表示该线程可以被线程调度器调度执行,而Running状态表示该线程正在

被执行,使用Thread.yield()方法可以使线程状态由Running变成为Ready。

Blocked:阻塞状态

线程发起阻塞的I/O操作 ,或者申请有其他线程占用的独享资源,线程会转换为Blocked状态,处于阻塞状态的线程不会占用CPU资源,当阻塞I/O操作执行完成或者线程获得了其申请的资源,线程可以转换为Runnable状态。

Waiting:等待状态

线程执行了Object.wait()方法,thread.join()方法会把线程转换为Waiting等待状态,执行Object.notify()方法,或者加入的线程执行完毕,当前线程会转换为Runnable状态。

Time_Waiting:休眠状态

与Waiting状态类似,两者都是等待状态,区别在于处于该线程的状态不会无限制的等待下去,如果线程没有在指定的时间范围内执行完期望的操作,该线程会自动转换为Runnable状态。

Terminated:终止状态

该状态表示线程执行结束,处于终止状态。

另一篇关于线程的文章:学习多线程——必会的的9个方法   

 

转载地址:http://fjhwi.baihongyu.com/

你可能感兴趣的文章
安装FastDFS单机版环境
查看>>
动态规划-背包问题
查看>>
Windows10 + Nodejs调用C++语言Dll
查看>>
CSAPP - 一个简单的Shell
查看>>
《算法4》 Windows/Mac环境下使用Visual Studio Code和Orcale JDK1.8开发环境搭建
查看>>
精心整理很实用的前端笔记,看完你就在css上有很深的造诣了!!!
查看>>
前端开发在工作中用到的工具、软件、库.......------Sesiid
查看>>
正则表达式~~~很全的------Sestid
查看>>
在HTML中嵌入百度地图------Sestid
查看>>
Js或jQuery图片层叠轮播------Sestid
查看>>
js或jQuery实现返回顶部功能------Sestid
查看>>
JS实现拖拽效果------Sestid
查看>>
jQuery实现倒计时秒杀效果------Sestid
查看>>
jQuery实现html网页顶部自适应导航栏(media)------Sestid
查看>>
鼠标悬停显示下划线(带小特效)------Sestid
查看>>
jQuery 实现input搜索框自动匹配------Sestid
查看>>
Js 实现回车键触发登录,并弹出需要输入信息------Sestid
查看>>
Js字符串和数组方法及使用------Sestid
查看>>
JavaScript常用算法(面试)------Sestid
查看>>
Js或者jQuery实现点击图片出现蒙层并将图片放大在蒙层上------Sestid
查看>>