线程的生命周期
来源:互联网 发布:淘宝的返利机器人 编辑:程序博客网 时间:2024/06/06 04:12
1、线程的生命周期:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。
2、当线程对象调用了start()方法之后,该线程处于就绪状态,Java虚拟机会为其创建方法调用栈和程序计数器,处于这个状态中的线程并没有开始运行,只是表示该线程可以运行了。至于该线程何时开始运行,取决于JVM里线程调度器的调度。
3、启动线程使用start()方法,而不是run()方法。
4、只能对处于新建状态的线程调用start(),否则将引发IllegalThreadStateException异常。
5、所有现代的桌面和服务器操作系统都采用抢占式调度策略,只有当一个线程调用了它的sleep()方法或yield()方法后才会放弃所占用的资源。
6、线程从阻塞状态只能进入就绪状态,无法进入运行状态。
7、程序会以如下三种方式结束,结束后就处于死亡状态。
(1)run()或call()方法执行完成,线程正常结束。
(2)线程抛出一个未捕获的Exception或Error。
(3)直接调用该线程的stop()方法来结束该线程——该方法容易导致死锁,通常不推荐使用。
8、isAlive()方法测试某个线程是否已经死亡。
1 0
- 线程--线程的生命周期
- 线程的生命周期---线程死亡
- 线程的生命周期
- 线程的生命周期
- 线程的生命周期
- 线程的生命周期、
- 线程的生命周期
- 线程的生命周期
- JAVA线程的生命周期
- 线程的生命周期
- 线程的生命周期、
- 线程的生命周期
- Java线程的生命周期
- 线程的生命周期
- 线程的生命周期
- 线程的生命周期
- 线程的生命周期
- 线程的生命周期
- 客户端合成gif
- 如何将mongodb-c-driver交叉编译到ARM平台
- C++函数返回类型学习笔记
- Unity3D-5.5版本的IAP-IOS使用方式(In-App-Purchase)
- java static关键字
- 线程的生命周期
- 使用Retrofit踩到的坑(持续更新)
- 写一个死锁例子,及解决死锁
- ubuntu配置SSH远程连接
- Source Insight使用及快捷键
- Java学习路线(转载)
- 使用第三方向发送手机短信Doem
- gearman 入门使用笔记
- Docker学习之路