0

我有一个ThreadPoolExecutor我用自定义创建的ThreadFactory. 当我调用execute()传递 my 的方法时,会使用我的自定义创建Runnable一个新的. 问题是我找不到访问.ThreadThreadFactoryRunnable

例如,我有一个Job实现Runnable. 在里面Job,我有一个A我想在newThread()我的自定义方法中访问的属性ThreadFactory。问题是我不能将Runnable传递的参数转换为,Job因为它不是Job实例,它是类的实例ThreadPoolExecutor.Worker,而这个类是private.

4

1 回答 1

5

您误用或误解了线程池的作用。创建线程和提交/运行任务的过程是完全解耦的。线程池决定何时创建新线程,它可能与提交的任何新任务完全无关。

最后请记住,一个线程很可能在多个Runnables 中重用。

于 2012-12-20T14:35:32.263 回答