0

根据文档对ThreadFactory接口的定义是一个按需创建新线程的对象。使用线程工厂消除了对新线程调用的硬连线,使应用程序能够使用特殊的线程子类、优先级等。

我无法理解对 new Thread 调用的硬连线一词,也无法理解ThreadFactory的正确使用和目的

请解释一下。谢谢。

4

2 回答 2

3

阅读依赖注入控制反转http://en.wikipedia.org/wiki/Dependency_injection

假设我写了一个库,而我的库需要创建一个线程。假设您有一个大型、复杂的应用程序,并且您想使用我的库,但是您的应用程序对管理线程有严格的政策,并且它的所有线程都必须通过调用一个特殊的应用程序特定模块来创建。

如果我的库调用 Thread.new(),那么你就不能使用它,因为它绕过了你的策略,但是如果我的库允许你给我一个 ThreadFactory,并且我的库使用你的 ThreadFactory 来创建它的线程,那么问题就解决了: 你可以给我一个 ThreadFactory,通过调用你的应用程序的线程管理模块来创建线程。

于 2015-05-25T21:02:14.287 回答
1

我无法理解对新线程的调用硬连线一词

基本上,您不必将调用者与线程对象紧密耦合,而是可以委托给 ThreadFactory。我认为的一个优点是可以说你想模拟单元测试的线程调用,你可以很容易地实现它

我也无法理解 ThreadFactory 的正确用途和目的

http://javahowto.blogspot.in/2011/11/why-use-threadfactory.html

于 2015-05-25T18:05:41.603 回答