在java

时间:2015-05-25 17:59:27

标签: java multithreading threadgroup

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

我无法理解对新线程调用的强硬连接一词,我也无法理解 ThreadFactory

请说明。 感谢。

2 个答案:

答案 0 :(得分:3)

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

假设我写了一个库,我的库需要创建一个线程。假设您有一个庞大而复杂的应用程序,并且您希望使用我的库,但您的应用程序有关于管理线程的严格策略,并且必须通过调用特殊的特定于应用程序的模块来创建其所有线程。

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

答案 1 :(得分:1)

  

我无法理解对新电话的硬接线这个术语   螺纹

基本上,您不必将调用者与线程对象紧密耦合,而是可以将其释放到ThreadFactory。我可以想到的一个优点就是假设你想要模拟线程调用进行单元测试,你可以轻松实现它

  

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

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