Guice需要它自己的线程是什么?

时间:2014-01-17 14:46:09

标签: guice

Guice需要它自己的线程?我正在优化我的应用程序,我发现有一个名为“com.google.inject.internal.util。$ Finalizer”的Guice主题。

理想情况下,我不想要这个额外的线程。

感谢

1 个答案:

答案 0 :(得分:1)

这看起来像是Guava库的一部分。以下是其在Guava代码中的原始版本:https://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/base/internal/Finalizer.java

这是来自Guice的这个类的版本: http://code.google.com/p/google-guice/source/browse/core/src/com/google/inject/internal/util/Finalizer.java?r=86142556d360048671dc129f7b0c316f542473af

顺便说一句,在我连接到这个类的那个之后的下一次提交中,Guice被删除了,而Guice开始依赖Guava。尼斯!

此线程似乎由FinalizableReferenceQueueAPIsource)生成。我不知道Guice究竟是如何使用FinalizableReferenceQueue的(我怀疑它是间接的,类似于“Guice→Guava cache→FinalizableReferenceQueue”),但它似乎是一种不安全的措施。泄漏了可靠的资源。我很确定你无法摆脱那个帖子,除非它是由Guice的可选部分出现的(这是不太可能的)。