如果我使用 stop-the-world GC 并在我的 finalize()
方法中做一些事情,我可以假设所有线程都被挂起并且我可以做任何我想做的事情并且没有线程敢这样做除了GC线程和我争资源?
最佳答案
不,实际上甚至可能有多个终结器线程并发运行。
来自java language spec , "终结器可以按任何顺序调用,甚至可以同时调用。"
关于java - 使用 finalize 作为独占锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714778/