![](/img/trans.png)
[英]ThreadFactory and newThread(Runnable r) how to access to the attributes of r if it is a Thread?
[英]How to access Runnable during Thread creation inside ThreadFactory?
我有一个使用自定义ThreadFactory
创建的ThreadPoolExecutor
。 当我通过Runnable
调用execute()
方法时,将使用自定义ThreadFactory
创建一个新Thread
。 问题是我找不到在Runnable
内部访问信息的方法。
例如,我有一个实现Runnable
Job
类。 在Job
内部,我想在自定义ThreadFactory
的newThread()
方法中访问属性A
问题是我无法将作为参数传递的Runnable
为Job
因为它不是Job
实例,它是ThreadPoolExecutor.Worker
类的实例,并且该类是private
。
您要么滥用,要么误解了线程池的作用。 创建线程和提交/运行任务的过程完全分离。 线程池决定何时创建新线程,它可能根本与提交的任何新任务都不相关。
最后要记住,一个线程很可能在多个Runnable
重用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.