当前位置: 技术问答>java相关
关于线程结束的问题??
来源: 互联网 发布时间:2015-09-28
本文导语: 请问在一个线程里, 当程序完成了run方法后, 1.当前这个线程的状态变成什么了? 2.这个线程对象还存在吗? 3.如果想要再启动它,应该怎么办? 是不是必须要用new Thread(myThread).start()重新开始? 要是这样的话,执...
请问在一个线程里,
当程序完成了run方法后,
1.当前这个线程的状态变成什么了?
2.这个线程对象还存在吗?
3.如果想要再启动它,应该怎么办?
是不是必须要用new Thread(myThread).start()重新开始?
要是这样的话,执行几次之后,会不会生成很多的线程对象而使内存“爆满”
当程序完成了run方法后,
1.当前这个线程的状态变成什么了?
2.这个线程对象还存在吗?
3.如果想要再启动它,应该怎么办?
是不是必须要用new Thread(myThread).start()重新开始?
要是这样的话,执行几次之后,会不会生成很多的线程对象而使内存“爆满”
|
1.当前这个线程的状态变成什么了?
僵尸态,等待回收
2.这个线程对象还存在吗?
存在
3.如果想要再启动它,应该怎么办?
不能再启动了,重新new吧
僵尸态,等待回收
2.这个线程对象还存在吗?
存在
3.如果想要再启动它,应该怎么办?
不能再启动了,重新new吧
|
完成了run方法,线程就死掉了。
不可能在让他再运行了,只能new新的。
至于是不是对象在内存中存在,那个是回收的事情了,不去管他了。
不可能在让他再运行了,只能new新的。
至于是不是对象在内存中存在,那个是回收的事情了,不去管他了。
|
关注。
我做过的实验,启动了N多个线程,运行之后,会占用很多的内存,而不释放,因此,不要启动太多的线程。不过,JVM退出,程序占用的内存就会自动释放。
我做过的实验,启动了N多个线程,运行之后,会占用很多的内存,而不释放,因此,不要启动太多的线程。不过,JVM退出,程序占用的内存就会自动释放。
|
对j2me,这是个大问题!!!