码迷,mamicode.com
首页 > 其他好文 > 详细

新生成的thread能start多次吗?

时间:2017-03-12 13:52:31      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:thread   虚拟机   操作系统   start   

不能,是由其线程状态决定的。线程的生命周期管理依托于虚拟机与操作系统,其生命周期的各个状态图转换如下:

技术分享

从图中可以看出,线程初始化之后,运行一次start方法后,该线程进入RUNNBALE状态,等待分配时间片运行,如果再调用start方法,由于状态已经不是初始化状态了,所以导致虚拟机报错。源码如下:

技术分享

说明,只有刚初始化的才能调用run,否则抛出异常。

本文出自 “不懂就问” 博客,请务必保留此出处http://zhoudr.blog.51cto.com/3853145/1905543

新生成的thread能start多次吗?

标签:thread   虚拟机   操作系统   start   

原文地址:http://zhoudr.blog.51cto.com/3853145/1905543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!