多线程和线程池

Posted m.z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程和线程池相关的知识,希望对你有一定的参考价值。

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

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

ExecutorService cachedThreadPool = Executors.newCachedThreadPool();

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

以上是关于多线程和线程池的主要内容,如果未能解决你的问题,请参考以下文章

nodejs线程池能分配多少线程

Java线程池

java面试:多线程与并发

多线程和Boost::Asio

Future配合线程池进行多线程任务并返回结果

Windows 线程池