我必须在Java Web应用程序中使用Apache Commons -FileUtils.copyURLToFile从URL下载一堆文件,通过这些文件,访问webapp的多个用户可以下载多个文件,尝试两种方式
顺序下载
for(数组中的每个url) FileUtils.copyURLToFile
使用ThreadPoolExecutor进行并行执行
for(数组中的每个url) Executors.submit(下载) FN->下载 FileUtils.copyURLToFile
如果有更多的用户访问应用程序(我的猜测 - 因为线程池管理,线程启动延迟等),它们似乎都会产生相同的性能并且ThreadPoolExecutor实际上表现更差。
tomcat服务器在四核处理器上运行,为什么并行执行没有性能提升?