繁体   English   中英

如何在ThreadFactory中创建线程期间访问Runnable?

[英]How to access Runnable during Thread creation inside ThreadFactory?

我有一个使用自定义ThreadFactory创建的ThreadPoolExecutor 当我通过Runnable调用execute()方法时,将使用自定义ThreadFactory创建一个新Thread 问题是我找不到在Runnable内部访问信息的方法。

例如,我有一个实现Runnable Job类。 Job内部,我想在自定义ThreadFactorynewThread()方法中访问属性A 问题是我无法将作为参数传递的RunnableJob因为它不是Job实例,它是ThreadPoolExecutor.Worker类的实例,并且该类是private

您要么滥用,要么误解了线程池的作用。 创建线程和提交/运行任务的过程完全分离。 线程池决定何时创建新线程,它可能根本与提交的任何新任务都不相关。

最后要记住,一个线程很可能在多个Runnable重用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM