# fork-join-sum **Repository Path**: cwbshare/fork-join-sum ## Basic Information - **Project Name**: fork-join-sum - **Description**: fork-join使用示例 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-27 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ForkJoin示例 ## 一. forkjoin介绍 fork/join作为一个并发框架在jdk7的时候就加入到了我们的java并发包java.util.concurrent中,并且在java 8 的lambda并行流中充当着底层框架的角色。这样一个优秀的框架设计 ## 二. 用法 将任务折半分拆,再分别计算,再组装结果。本示例代码是模拟1千万的数据表查询出来的求各处理,这里将5千一次从数据库查出来,为什么是5千,经测试5千一次查询性能比较好,超过5千后,性能有可能会下降,所以按5千一次来查数据库,拿出来再求和,代码没有直接连数据库,而是随机生成结果,和使用sleep的方式模拟数据库查询的耗时,通过一次运行test示例,单线程的算法要12800ms,而使用forkjoin的多线程(线程开到64个)后,结果是230ms,所以使用多线程能极大的改进大运算的性能。