我需要从activeMQ获取数据,然后将其传递给在ThreadPoolExecutor中运行的执行程序。
问题是,我不必从队列中获取下一个数据,直到我在池中至少有一个线程处于空闲状态,准备好接受此任务。
我可以忙着等到activeCount< poolSize。但我会感谢任何解决方案与此异步处理。提前致谢。
答案 0 :(得分:0)
你可以试试这个
final ThreadPoolExecutor executor=...
new Thread(new Runnable(){
public void run(){
while(true){
if(executor.getActiveCount()<executor.getCorePoolSize())
executor.execute(mq.get());
}
}).start();