从线程中释放资源

时间:2012-05-18 10:31:12

标签: java multithreading garbage-collection

在我的应用程序中(在我的工作中),我们维护套接字连接池来处理通信。有许多线程(数量很大)从池中获取活动连接,使用它并关闭它。但问题是,在垃圾收集器之间的某个地方被调用来收集未使用的引用。

现在,在调用垃圾收集器之后,我想:

  1. 暂停参与通信的所有线程(请注意我的线程与GC一起运行 - >我的意思是调度使其成为可能)
  2. 从线程释放套接字连接(即引用到套接字连接),其状态可能介于两者之间,或者如果实际上不可行则:
  3. 如何在使用资源的所有线程完成后延迟GC的调用。此外,在这种情况下,可能需要确定相关的线程是否已完成其工作。

1 个答案:

答案 0 :(得分:2)

如果您关心GC运行,那么您的应用程序设计就会中断。

修复您的设计。


注意:虽然有关于垃圾收集器应该如何操作的规范,但是JVM实现甚至都没有要求 垃圾收集器!