码迷,mamicode.com
首页 > 编程语言 > 详细

java中ExecutorService使用多线程处理业务

时间:2019-06-16 13:21:32      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:pre   cep   div   throws   error   vat   dsa   err   alc   

ExecutorService executorService = Executors.newFixedThreadPool(5);  
  
List<CancelApprovalCallable> callables = new List<>();  
for(int i=0,len=idsArray.size();i<len;i++){
    String id = idsArray.get(i);
    CancelApprovalCallable callable = new CancelApprovalCallable(id,domain);
    callables.add(callable);
}
List<Future<JSONObject>> resultList = new ArrayList<>();
try{
    resultList = executorService.invokeAll(callables);
}catch(InterruptedException e){
    log.error("execute concurrent thread error",e);
}finally{
    if(!executorService.isShutdown() || !executorService.isTerminated()){
        executorService.shutdown();
    }
}

/**
*批量获取线程执行结果,循环处理每条结果数据
*/
for(Future<JSONObject> future : resultList){
    JSONObject resp2 = null;
    try{
        resp2 = future.get();
    }catch(Exception e){
        log.error("execute concurrent thread error",e);
    }
    if(resp2 == null){
        continue;
    }
}
class CancelApprovalCallable implements Callable<JSONbject>{
        
        private String id;
        private String domain;
        CancelApprovalCallable(String id,String domain){
            this.id=id;
            this.domain = domain;
        }
        /* (non-Javadoc)
         * @see java.util.concurrent.Callable#call()
         */
        @Override
        public JSObject call() throws Exception {
            
            return null;
        }
        
    }

 

java中ExecutorService使用多线程处理业务

标签:pre   cep   div   throws   error   vat   dsa   err   alc   

原文地址:https://www.cnblogs.com/nizuimeiabc1/p/11031218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!