【java 多线程实现pdf打包成zip下载】

java 多线程实现pdf打包成zip下载

问题情境:

最近一个需求是需要在某个逻辑中处理2000多条数据,并且生成pdf打包成zip进行下载,之前是量不多,是同步for循环进行生成pdf然后打包下载,目前由于要与web端进行交互,下载完将zip流返回给前端,所以必须要优化速度。

解决方案:

生成pdf的方式改成异步:采用threadPoolTaskExecutor进行处理,

具体文章可以参考

https://blog.csdn.net/mutouren891114/article/details/106396839?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-106396839-blog-113740397.235%5Ev29%5Epc_relevant_default_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-106396839-blog-113740397.235%5Ev29%5Epc_relevant_default_base3&utm_relevant_index=2

以下是我的代码demo:
向上取余分段截取:
【java 多线程实现pdf打包成zip下载】_第1张图片
threadPoolTaskExecutor.submit()的使用:
【java 多线程实现pdf打包成zip下载】_第2张图片
【java 多线程实现pdf打包成zip下载】_第3张图片

其中需要注意的点:

1.对于量大的数据首先可以使用向上取余算法分段截取。
2.通过使用threadPoolExecutor来进行操作。

你可能感兴趣的:(pdf)