社区
Java SE
帖子详情
一个线程 调用了一次 start(); 后,第二次就不能再调用了吗?
wangzhanlili
2005-12-03 11:52:33
一个线程 在调用 start 后 运行完毕。
if(!thread.isAlive()){
thread.start();
}
怎么不行?
就是说在 调用了一次 start(); 后,第二次就不能再调用了吗?
...全文
498
8
打赏
收藏
一个线程 调用了一次 start(); 后,第二次就不能再调用了吗?
一个线程 在调用 start 后 运行完毕。 if(!thread.isAlive()){ thread.start(); } 怎么不行? 就是说在 调用了一次 start(); 后,第二次就不能再调用了吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dztc
2005-12-23
打赏
举报
回复
up
lyj830223
2005-12-05
打赏
举报
回复
学习,学习
crazycy
2005-12-03
打赏
举报
回复
首先你应该判断thread对象是否为null;
不知道楼主说的不行是抛出了什么异常?
kingfish
2005-12-03
打赏
举报
回复
线程从run()退出后已经处于TERMINATED状态,属于DEAD线程了。 再调用start会有异常。
wangzhanlili
2005-12-03
打赏
举报
回复
但是我想不new 一个,就用以前的引用 再 start()一次,不行啊。
也没有报任何错误 就是 run() 方法没有执行。
jingweicool
2005-12-03
打赏
举报
回复
在调用start()之前,首先new 一个thread对象,然后判断thread对象是否为null,如果不为null,则用while()循环调用start()方法即可。
cenlmmx
2005-12-03
打赏
举报
回复
觉得应该可以啊,thread只是个引用啊
f_acme
2005-12-03
打赏
举报
回复
如果一个线程结束后,要想重新start(),是要重新new一次的
第17讲 |
一个
线程
两次
调用
s
tar
t()方法会出现什么情况?
今天我们来深入聊聊
线程
,相信大家对于
线程
这个概念都不陌生,它是 Java 并发的基础元素,理解、操纵、诊断
线程
是 Java 工程师的必修课,但是你真的掌握
线程
了吗?今天要问你的问题是,
一个
线程
两次
调用
s
tar
t() 方法会出现什么情况?谈谈
线程
的生命周期和状态转移。
为什么
不能
直接
调用
run( )方法,而必须
调用
s
tar
t()方法开启
一个
线程
?
为什么
不能
直接
调用
run( )方法,而必须
调用
s
tar
t()方法开启
一个
线程
? 如果
一个
线程
的s
tar
t()方法内部
调用
run()方法,那么为什么我们不直接在我们的代码中
调用
run()方法呢?这样做有什么问题? 1.s
tar
t方法确保代码在新的
线程
上下文中运行。如果直接
调用
run,那么它就像
一个
普通的方法
调用
,它将在当前
线程
的上下文中运行,而不是新的
线程
。s
tar
t方法包含触发新
线程
的特殊代码;运行显然没有这个能力,因为写的run方法没有包含它。 2.当
调用
s
tar
t()方法时将创建新的
线程
,并且执行在ru
一个
线程
调用
两次s
tar
t()会发生什么?
线程
池是如何实现
线程
复用的?
一个
线程
调用
两次s
tar
t()会发生什么?
线程
池是如何实现
线程
复用的? 一、我们顺便先认识一下run()方法和s
tar
t()方法的区别 首先demo眼见为实: /** * 描述: 对比s
tar
t和run两种启动
线程
的方式 */ public class S
tar
tAndRunMethod { public static void main(String[] args) { Runnable runnable = () -> { Syste
Java同
一个
线程
对象能否多次
调用
s
tar
t方法
同
一个
线程
对象能否多次
调用
s
tar
t方法,搞清楚这个问题,首先需要了解
线程
的生命周期 一、
线程
生命周期 更多
线程
状态细节描述可查看Thread内部枚举类:State 从上图
线程
状态转换图可以看出: 新建(NEW)状态是无法通过其他状态转换而来的; 终止(TERMINATED)状态无法转为其他状态。 为何新建状态和终止状态不可逆转,接下来将通过Thread源码来分析 二、先通过
一个
正常程序...
一个
线程
能否
调用
两次s
tar
t()方法?
欢迎大家搜索“小猴子的技术笔记”关注我的公众号,领取丰富面试资料和学习资料。 公众号回复“电子书”领取超多、超全电子书籍。 公众号回复“分布式”领取分布式学习视频。 我写了
一个
免费的图片压缩工具:“http://images.houry.top/index” 欢迎大家使用。 我写了
一个
netty弹幕系统:“http://bullet-screen.houry.top:8080/index”。 关于
线程
我的笔记中有专门的一栏在进行讲解,因此关于
线程
的一些概念今天
Java SE
62,629
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章