Python | 使用进程池统计指定范围内素数的个数

本实验旨在通过Python标准库multiprocessing实现多进程程序,理解进程概念、进程池及多处理器工作原理。通过编写素数判断函数,比较不同进程池大小对运行速度的影响,并观察CPU资源占用变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

640?wx_fmt=png

适用专业:

适用于计算机、网络工程、软件工程等相关专业,其他专业选做。


实验目的:

(1)了解使用Python标准库multiprocessing编写多进程程序的方法。

(2)理解进程概念以及进程调度的工作原理。

(3)理解进程池的概念及其工作原理。

(4)理解并熟练使用Python标准库time中的方法测试代码运行时间。

(5)根据需要熟练编写不同形式的素数判断函数。

(6)了解多处理器和多核的概念。


实验内容:

(1)编写函数判断一个数字是否为素数,然后创建进程池使用进程池的map()方法把该函数映射到指定范围内的数字,使用内置函数sum()统计有多少素数。同时,使用内置函数map()和sum()完成同样任务,比较两种方法的速度。

640?wx_fmt=png

(2)调整进程池大小,即工作进程的数量,观察两种方法速度的变化。例如,上面的代码运行结果为:

664579

60.04925322532654

664579

26.993717908859253


把进程池大小改为5之后,运行结果为:

664579

61.76579570770264

664579

110.45850372314453

尝试分析出现这种情况的原因。


(3)打开任务管理器,观察程序运行过程中对CPU资源占用的变化情况。下面是代码运行5秒和80秒时任务管理器的截图,尝试分析出现这种情况的原因。

640?wx_fmt=png

640?wx_fmt=png

推荐阅读:

寒潮真的来了,BAT都难逃此劫

“上海第一美女”自杀:普通人逆袭的境界分五层,你在第几层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值