根据documentation定义的 ThreadFactory 接口是按需创建新线程的对象。使用线程工厂可以消除对新线程的调用的硬连接,使应用程序能够使用特殊的线程子类,优先级等。
我无法理解对新线程调用的强硬连接一词,我也无法理解 ThreadFactory
请说明。 感谢。
答案 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