我有一个问题,似乎接近Executors和线程池所做的,但我似乎无法让它完全适合.基本上我有工作人员需要花一些时间来初始化,我想要集中,一旦他们准备好了,我就用它们来做工作.我需要在一个线程中执行此操作:
worker = buildExpensiveWorker();
worker.doWork(work1);
worker.doWork(work2);
worker.doWork(work3);
...
Run Code Online (Sandbox Code Playgroud)
虽然Executor只允许我这样做:
doWork(work1);
doWork(work2);
doWork(work3);
...
Run Code Online (Sandbox Code Playgroud)
我需要编写自己的线程池吗?重写已经做得好的事情感觉真是太遗憾了.或者我是否需要用来ThreadLocal保存我的工作者,并从Runnablerun()方法中管理它们?