如果一个对象等待垃圾回收,但包含一个线程在最后一个对该对象的引用更改时正在运行,那么该线程仍然会运行,代码仍然会执行吗?因此,您可能会有一堆应该删除但对代码产生影响的幽灵对象。如何防止这种情况发生?对象是否有办法告诉自己是否等待被回收?
如果一个对象等待垃圾回收,但包含一个线程在最后一个对该对象的引用更改时正在运行,那么该线程仍然会运行,代码仍然会执行吗?因此,您可能会有一堆应该删除但对代码产生影响的幽灵对象。如何防止这种情况发生?对象是否有办法告诉自己是否等待被回收?
java.lang.AutoCloseable
,并要求线程在 close()
中终止自身。
Callable
或Runnable
,然后在ExecutorService
中安排它们的执行;) - fge