我目前正在使用ExecutorService
来解析文件:
ExecutorService service = Executors.newFixedThreadPool(10);
以后:
service.submit(new FileParser(file));
但是,用于解析文件的工具需要初始化,这需要很长时间。我想每个线程只执行一次初始化(不是一次初始化,因为初始化参数不是线程安全的),然后只执行提交的runnable中的解析。
我看到ThreadFactory
可用于向执行程序提供我自己的线程,所以我可以这样初始化我的参数:
public class MyThreadFactory implements ThreadFactory {
public Thread newThread(Runnable r) {
return new MyThread(); // Initialization part inside the constructor
}
}
然而,我不知道如何提供新文件来解析线程... 有什么想法吗?
由于