A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马张健 中级黑马   /  2012-5-25 09:48  /  2272 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个线程在什么情况下会死掉?
能否总结一下各种情况?

3 个回复

正序浏览


线程;是进程中的一个执行控制单元,执行路径。
线程分为;
1.一个进程中如果只有一个执行路径,这个程序称为单线程。
2.一个进程中如果有多个执行路径时,这个程序称为多线程。(好处;同时执行多条路径,多部分代码同时执行,提高效率。JVM也是多线程的)

Thread和Runnable是实现java多线程的2种方式,runable是接口,thread是类,建议使用runable实现java多线程,不管如何,最终都需要通过thread.start()来使线程处于可运行状态。

线程状态;
                              
                                  临时阻塞   
                  start             | |      sleep,wait
被创建———————>运行—————————>冻结
                                     | |     时间到,notify
                                    消亡   



评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
Thread类的方法
(1)        sleep(),睡眠
(2)        yield(),激活
(3)        join(),暂停
(4)        interrupt(),中断
(5)        currentThread(),用于返回当前线程的引用
(6)        stop(),强制终止线程

线程的生命周期主要有:新建、可运行、运行、阻塞、终止状态

线程在抛出异常时就会终止,还有就是运行到线程函数结束或者运行到退出线程的语句stop()都会结束

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
死锁产生的条件
1、资源互斥:就是资源仅能让一个线程使用而不支持多个线程同时使用
2、请求保持:已经拥有资源的线程在请求其他资源时并没有释放当前资源
3、不能剥夺:已经获得的资源在自主释放前不能使用其他手段剥夺
4、循环等待:各个线程对资源的需求构成了一个循环

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马