2014-11-21 38 views
0

我正在创建一个java桌面应用程序,它从另一个JFrame中打开一个新的JFrame(在一个线程内)。有没有办法从内存中删除线程?Java - 从内存中删除线程

+1

你只是想关闭第二个'JFrame'? – 2014-11-21 15:19:13

+0

是的,我想关闭第二个JFrame – user3276091 2014-11-22 11:37:32

回答

5

线程不是Java对象。这是一个本地资源(执行线程)。线程完成运行代码后将立即“从内存中移除”。

从Java的角度来看,只要其run()方法完成,线程就会死机。

至于Thread负责执行某个特定线程的实例,它的行为与任何其他Java对象一样,只要没有对它的引用存在(并且底层线程没有活动),它就可以由垃圾收集器回收, 。

1

没有办法从内存中实际删除一个Thread对象。与其他任何对象一样,如果没有对它的引用,它将在下一次gc运行时被垃圾收集。