Java线程完成后是否被删除

假设我使用下面的方法每隔几秒钟生成一个线程,并且每个线程大约需要一秒钟才能完成。完成的线程会被删除吗?

new Thread (new myRunnableClass()).start();

回答:

线程完成后立即释放本机OS级线程(完成时大约释放run()),但是线程对象像其他任何对象一样存活,直到无法访问并且垃圾回收器感觉像在运行。

知道Thread(在 Sun的

Oracle实施中,任何人)都有一个私有方法,当线程退出时,VM会调用该私有方法,该方法会积极地使多个字段为空,包括一个指向构造函数Runnable集的字段Thread(Runnable)。因此,即使您保留对的引用Thread,无论执行完什么,它都将被释放。

以上是 Java线程完成后是否被删除 的全部内容, 来源链接: utcz.com/qa/399889.html

回到顶部