【发布时间】:2012-06-04 07:52:48
【问题描述】:
我想在 Closeable 对象不再被其他线程引用时正确关闭它。
我写了一些小测试,但是在对象入队后,get方法返回null,即poll方法返回没有引用的正确对象。
public static void main(String[] args)
{
ReferenceQueue<Closeable> reaped = new ReferenceQueue<Closeable>();
Closeable s = <SOME CLOSEABLE IMPL>;
WeakReference<Closeable> ws = new WeakReference<Closeable>(s, reaped);
s = null;
System.gc();
Closeable ro = (Closeable)reaped.poll().get();
ro.close();
}
提前致谢。 任何帮助将不胜感激。
【问题讨论】:
标签: java