线程的生命周期和状态
来源:互联网 发布:逆波兰式算法c 编辑:程序博客网 时间:2024/05/22 06:27
线程的五个状态:新建、就绪、运行、阻塞、死亡。
新建状态:当使用new来新建一个线程时、该线程就处于新建状态,和其它JAVA中的对象没有区别,JVM为其分配内存。
就绪状态:当线程调用了start方法后,该线程就处于就绪状态。JVM为其创建方法调用栈和程序计数器,处于这个状态的线程并没有开始运行,只是表示这个线程可以运行了,至于什么时候运行,由JVM中的线程调度决定。
运行状态:如果处于就绪状态的线程获得了CPU,开始执行run方法中的线程执行体,那么该线程就处于运行状态。
阻塞状态:当发生如下情况,线程将进入阻塞状态:1、线程调用sleep方法主动放弃所占用的处理器资源。2、线程调用了一个阻塞式IO方法,在方法返回之前,该线程被阻塞。3、线程试图获得一个同步监视器,但该同步监视器被其他线程所持有。4、线程在等待某个通知。5、程序调用了线程的suspend方法将该线程挂起(易导致死锁)。如果以上的问题解决了,线程将进入就绪状态,而不是直接进入运行状态。
死亡状态:以下情况,线程处于死亡状态:1、run()或call()方法执行完成,线程正常结束。2、线程抛出一个未捕获的Exception或Error。3、直接调用该线程的stop()方法来结束该线程(易导致死锁)。注:线程死亡就是死亡,不能重新被再次执行,也不要重新调用该线程的start方法,将会抛出IllegalThreadStateException。
0 0
- 线程的生命周期和状态
- 线程的生命周期和状态变化
- 线程的生命周期---新建和就绪状态
- 线程的生命周期---运行和阻塞状态
- java 线程的生命周期和状态控制
- 线程的生命周期和状态控制
- jva 线程的生命周期和状态控制
- 线程的生命周期和状态转换
- 线程的生命周期和状态控制
- 线程的生命周期和状态控制
- Java线程的生命周期和状态控制
- 线程的生命周期和状态控制
- 线程的生命周期和状态转换
- Java线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Linux下的tar压缩解压缩命令详解
- 2016亚洲区域赛现场赛china final D题
- L1-021. 重要的话说三遍
- 【CSS】请不要问我们垂直水平居中
- PC端各浏览器布局兼容问题【Chrome、Firefox、IE】——长期更新
- 线程的生命周期和状态
- [题解] USACO cow hopscotch(牛跳房子)
- leetcode_513.Find Bottom Left Tree Value找树最后一行的最左数
- 复杂网络常见的数据和程序代码网站
- 哪里可以找到前端开发的最新资讯?
- Android 极光推送使用
- iproute2安装
- Proteus安装
- 【算法】排序算法(四)——交换排序