1、并行 并行代表充分利用多核 cpu 的优势,提高运行效率。 想象下面的场景,执行 3 个计算,最后将计算结果汇总。 计算 1 花费 10 ms 计算 2 花费 11 ms 计算 3 花费 9 ms 汇总需要 1 ms 如果是串行执行,那么总共花费的时间是 10 + 11 + 9 + 1 = 31ms 但如果是四核 cpu,各个核心分别使用线程 1 执行计算 1,线程 2 执行计算 2,线程 3 执行计算 3,那么 3 个线程是并行的,花费时间只取决于最长的那个线程运行的时间,即 11ms 最后加上汇总时间只会花费 12ms 2、设计 1) 环境搭建 基准测试工具选择,使用了比较靠谱的基准测试框架 JMH,它会执行程序预热(会对反复执行的代码进行优化),执行多次测试并平均 cpu 核数限制,有两种思路 建议使用虚拟机,分配合适的核 使用 msconfig,分配合适的核,需要重启比较麻烦 并行计算方式的选择 最初想直接使用 parallel stream,后来发现它有自己的问题 改为了自己手动控制 thread,实现简单的并行计算 引入jar包...