python并行计算的一种方法举例_进程池
测试系统:windows10 22H2
python编译器:Anaconda自带的spyder(python3.9)
例子说明
求解包含0在内的前400000000(八个零)个数字的和。
串行计算
程序说明:直接用一个for循环进行求和,然后进行结果输出。
程序运行结果及运行时间

用时一分钟多一点。
多进程并行计算
程序说明:自定义一个求和函数--madd(n1,n2),用于计算n1到n2之间的求和,然后用求和结果构成两个2×2数组,进行返回。设置4个进程计算前400000000个数的求和,每个进程需要计算100000000个数的求和,然后将结构四个进程的结构进行汇总,得出最后的求和结果进行输出。
程序运行结果及运行时间

用时十四秒左右。多进程并行计算用时明显快于串行计算。
查看是否成功进行:通过设备管理器查看cpu后台使用率,使用所有核进行并行计算时,cpu使用率几乎为100%。
windows系统查看cpu核数
鼠标右键左下角开始图标,选择“设备管理器”→“处理器”,“处理器”下面有几个cpu的选项cpu核数就是多少。
Linux系统查看cpu核数命令
查看物理cpu个数:cat/proc/cpuinfo | grep “physical id”| sort| uniq| wc -l
查看每个物理cpu中core个数(核数):cat/proc/cpuinfo | grep “cpu cores”| uniq
Linux总的cpu核数=物理cpu个数×每个物理cpu中core个数(核数)。

