多线程和线程池

有这样一个需求:你有一个list集合,需要使用该集合作为参数,调用另一个系统并返回结果后处理它(主要的目的是处理结果)

解决方案:用线程池,不关闭线程池,将多个线程放入一个List集合中,使用invokeAll方法,相当于是将多个线程打包执行,统一返回,这样线程池可以一直不关闭,不用为了一个list开一个线程池,并且多个线程打包调用不会造成和其他用户的多线程冲突(究竟是你的线程还是我的线程)。

ExecutorService cachedThreadPool = Executors.newCachedThreadPool();

cachedThreadPool.invokeAll(List<new exeRuleThread implement Callable<Objec>>);

posted @ 2017-06-08 21:51 m.z 阅读(...) 评论(...) 编辑 收藏