从线程释放资源



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

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

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

如果你关心GC何时运行,那么你的应用程序设计就被破坏了。

修复您的设计。


注意:尽管有关于垃圾回收器应该如何操作的规范,但 JVM 实现甚至不需要垃圾回收器!

最新更新