Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-从内存中删除线程_Java_Multithreading - Fatal编程技术网

Java-从内存中删除线程

Java-从内存中删除线程,java,multithreading,Java,Multithreading,我正在创建一个java桌面应用程序,它从另一个JFrame打开一个新的JFrame(在线程内)。有没有办法从内存中删除线程?线程不是Java对象。它是本机资源(执行线程)。线程运行完代码后,将立即“从内存中删除” 从Java的角度来看,只要线程的run()方法完成,线程就死了 至于负责特定执行线程的线程实例,它的行为与任何其他Java对象一样,只要不存在对它的引用(并且底层线程不活动),垃圾收集器就可以回收它。线程不是Java对象。它是本机资源(执行线程)。线程运行完代码后,将立即“从内存中删除

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

线程不是Java对象。它是本机资源(执行线程)。线程运行完代码后,将立即“从内存中删除”

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


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

线程不是Java对象。它是本机资源(执行线程)。线程运行完代码后,将立即“从内存中删除”

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


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

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

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

您是否正在尝试关闭第二个
JFrame
?是的,我想关闭第二个JFrame,您是否正在尝试关闭第二个
JFrame
?是的,我想关闭第二个JFrame,但在我的情况下不会发生这种情况…我的应用程序每次生成400个线程,当运行函数完成…然后主线程再次拉取数据并生成400个子线程。。。但应用程序在运行18-20小时后会出现OOM(无法创建本机线程)…您可能有线程泄漏,一些线程会永远卡住。为此..我在运行函数完成后检查了每个线程的状态…但它们似乎都不活动。。。。解决方案是什么?但在我的情况下不会发生这种情况…我的应用程序每次生成400个线程,当运行函数完成时…然后主线程再次提取数据并生成400个子线程。。。但应用程序在运行18-20小时后会出现OOM(无法创建本机线程)…您可能有线程泄漏,一些线程会永远卡住。为此..我在运行函数完成后检查了每个线程的状态…但它们似乎都不活动。。。。解决办法是什么?