线程“死亡”后的反思
来源:互联网 发布:淘宝天猫客服上班时间 编辑:程序博客网 时间:2024/04/29 02:35
想法的产生
在写“别踩白块”的课设中,在游戏结束后弹出的Dialog对话框中个,设置了一个重新开始游戏的按钮,在注册监听是发现需要启动的是一个原来启动过但是已经完成工作的一个线程(即是一个“死亡”的线程)。希望通过线程名重启该线程,实现重新开始的功能。如下代码所示:
Thread thread = new Thread(){ public void run(){ while(flag){ game.down(frame.mBolk); game.creatBlackBolk(frame.mBolk); try { Thread.sleep(500); } catch (Exception e) { e.printStackTrace(); } delay(); } }};thread.start();
当线程执行完成“死亡”后,我希望通过如下代码重启该线程(线程名在Game类中设置成静态了,上面代码没有体现只是太麻烦,所以就放一块了):
Game.thread.start();
结果
很明显,这是不可能实现的,所以我华丽丽的over了,最后还傻傻地去找原因。
原因
在线程的生命周期中,是没有死亡后重启这个概念的,当一个线程干完了自己该干的事情后就死了,就永远地消失了,不管通过什么方法,都无法重新唤醒,所以此处唯一的解决办法就是重新new一个线程出来。
反思
通过这个简单小问题,暴露出了很大的问题:线程的学习不够过关,且对线程的生命周期的理解还不够透彻。线程这一章感觉难度系数比较大,特别是后面的线程通信和线程调度。在今后的学习中增加精力和时间去学习线程这一部分,我感觉是非常有必要的。相信自已一定会学好的。
0 0
- 线程“死亡”后的反思
- 线程的生命周期---线程死亡
- 毕业后的反思
- 面试后的反思
- 考试后的反思
- 检讨后的反思
- 线程的新生到死亡
- 灾难后中国文化的反思
- 寒假几天后的反思
- “家园”完成后的反思
- JavaScript面试后的反思
- 看博客后的反思
- 离职一年后的反思
- 创业后的一些反思
- 线程死亡的监控与回调
- |转帖| 灰色幽默后的反思
- 郎咸平--灾难后中国文化的反思
- 被开发同学”忽悠”后的反思
- HDU1087最长上升子序列
- PHP jquery tr随ID的大小排序
- Ubuntu安装zlib和zlib-devel
- ES6学习笔记(字符串拓展)
- 作为一个技术人员提高薪水除了不断跳槽之外,有什么好的建议?
- 线程“死亡”后的反思
- BZOJ 1046: [HAOI2007]上升序列
- eclipse 启动 org.eclipse.jst.servlet.ui was unable to instantiate class
- 高通平台手机开发之LCD
- 利用 LLMNR 名称解析缺陷劫持内网指定主机会话
- 1040. 有几个PAT(25)
- 将一个View和一个xib文件进行绑定
- 一线公司面试题宝典
- 搭建python编程环境