Python实验项目1例:使用进程池统计指定范围内素数的个数

本周赠书活动:董付国老师Python系列教材赠书活动(40本)

--------------------------------

适用专业:

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

实验目的:

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

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

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

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

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

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

实验内容:

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

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

664579

60.04925322532654

664579

26.993717908859253

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

664579

61.76579570770264

664579

110.45850372314453

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

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

--------图书大优惠--------

1)《Python程序设计(第2版)》(2018年8月第9次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.33.24a52226InbLT2&id=534581929248&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

2)《Python可以这样学》(2018年7月第6次印刷)(本书已发行繁体版)

原价69元,特价48.3元,每人限购5本,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.27.24a52226InbLT2&id=544817105410&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

3)《Python程序设计基础(第2版)》(2018年9月第5次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.35.24a52226InbLT2&id=565581275846&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

4)《中学生可以这样学Python》2018年5月第2次印刷)

清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.37.24a52226InbLT2&id=560808221053&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

5)《Python程序设计开发宝典》(2018年2月第3次印刷)

原价69元,特价48.3元,每人限购5本,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.71.24a52226InbLT2&id=556093887133&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

6)《玩转Python轻松过二级》(2018年7月第3次印刷)

原价49元,特价34.3元,每人限购5本,清华大学出版社官方链接:https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-18452336119.31.24a52226InbLT2&id=569250004069&rn=2925c5faf17252719ab36155de9bef46&abbucket=6

7)《Python程序设计基础与应用》(2018年9月第1次印刷)

图书详情:https://item.jd.com/31613308323.html

董付国老师6本Python系列图书阅读指南

董付国老师6本Python系列教材被北大、复旦等近百所高校选作教材

热烈庆祝《Python可以这样学》在台湾发行繁体版

董老师127课免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59

----------相关阅读----------

教学课件

1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享七:文件操作(132页)

1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)

报告PPT(163页):基于Python语言的课程群建设探讨与实践

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)

报告PPT(123页):Python编程基础精要

《Python程序设计》实验指导书(30个实验)

系列题库分享

1000道Python题库系列分享一(17道)

1000道Python题库系列分享二(48道)

1000道Python题库系列分享三(30道)

1000道Python题库系列分享四(40道)

1000道Python题库系列分享五(40道)

1000道Python题库系列分享六(40道)

1000道Python题库系列分享七(30道)

1000道Python题库系列分享八(29道)

1000道Python题库系列分享九(31道)

1000道Python题库系列分享十(37道)

1000道Python题库系列分享十一(9道)

1000道Python题库系列分享十二(9道编程题)

1000道Python题库系列分享13(22道填空题)

1000道Python题库系列分享14(1道代码阅读题)

相关阅读

Python使用两个Event对象同步生产者消费者问题

Python多线程编程基础3:创建线程与调用函数的区别

Python多线程编程基础2:如何创建线程

Python多线程编程基础1:为什么要使用线程

Python使用标准库subprocess调用外部程序

Python使用BoundedSemaphore对象进行线程同步

Python使用Queue对象实现多线程同步小案例

Python使用Condition对象实现多线程同步

Python多线程编程中daemon属性的作用

Python使用pyopencl在GPU上并行处理批量判断素数

Python使用pycuda在GPU上并行处理批量判断素数

Python利用Spark并行处理框架批量判断素数

Python使用Manager对象实现不同机器上的进程跨网络传输数据

Python多线程编程中使用Barrier对象进行同步

Python使用多进程批量判断素数

Python并行判断多个大整数是否为素数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值