我正在创建一个java桌面应用程序,它从另一个JFrame打开一个新的JFrame(在一个线程内)。有没有办法从内存中删除一个线程?
答案 0 :(得分:5)
线程不是Java对象。它是本机资源(执行线程)。线程将从内存中删除"一旦它完成了代码的运行。
从Java的角度来看,一旦run()
方法完成,该线程就会死亡。
对于负责特定执行线程的Thread
实例,它的行为与任何其他Java对象一样,并且只要没有对它的引用就可以被垃圾收集器回收(并且底层线程是不活着)。
答案 1 :(得分:1)
无法从内存中实际删除Thread对象。与任何其他对象一样,如果没有对它的引用,那么下次gc运行时它将被垃圾收集。