关于线程的概念(当线程将死亡时)

时间:2017-12-13 14:32:49

标签: java multithreading

"当一个线程的run方法执行了它的最后一条指令时,该线程作为一个对象死掉了#34; 据说在我的一个练习中是假的; 为什么这不正确?

2 个答案:

答案 0 :(得分:1)

这是一个奇怪的问题。 "作为对象死亡"不是一个传统的术语。

Thread对象的实例与任何其他Java对象一样。一旦它不再可达,它将被垃圾收集。有关garbace集合的更多信息,请参阅https://stackoverflow.com/a/5690468/3765428

答案 1 :(得分:0)

需要定义' die', 通常 - 变量指向的对象 AKA:

Object thread = new Thread() 只要其他对象持有或指向线程对象,它们就会存活。 例如Object[] threads = [thread, ...] //Psudo code 所以,只要线程对象指向/保持/等线程对象并且它没有被处置,它仍然是“活着”。

即使没有人指向该对象,它仍然必须等待GarbageCollector(GC)循环,以便它调用Dispose()方法(存在于每个对象中)到'杀'它