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

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秒时任务管理器的截图,尝试分析出现这种情况的原因。

本文分享自微信公众号 - Python小屋(Python_xiaowu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python+django建站入门篇(2):素数判断

    本文使用django框架搭建网站,运行之后,获取用户输入的整数,判断是否为素数并进行相应的提示。 本文技术要点: 1)使用django创建网站 2)了解MVC开...

    Python小屋屋主
  • Python花式编程:6种方法计算1!+2!+...+n!

    封面图片:《Python程序设计实验指导书》(ISBN:9787302525790),董付国,清华大学出版社

    Python小屋屋主
  • Python多进程编程时__name__属性的作用

    Python程序中,由于GIL(Global Interpreter Lock,全局解释器锁)的原因,采用多线程编程并不能大幅度提高任务吞吐量。如果要充分利用硬...

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

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

    用户1634449
  • kali 2018.1安装教程

    00x01 摘要 Kali-linux系统,渗透测试人员的利器,其官网自称 OurMost Advanced Penetration Testing Distr...

    Angel_Kitty
  • nodejs+ftp+linux+nginx 自动部署前端

    原理就是利用 1.nodes中ftp模板,上传本地的前端文件到服务器指定目录; 2.在服务器上安装nginx已经搭建了ftp服务 下面就是详细步骤: 1.lin...

    前朝楚水
  • AI实践:如何应用多进程Multiprocessing编程?

    多核 multiprocessing:现在计算机都有多核处理器,将任务分给多个核来处理,他们有单独的运算空间和计算能力,避免了多线程的劣势。

    AI深度学习求索
  • 微信小程序 - 通用页面(登录、注册、找回密码)

    点击登录时,动态设置data属性值,改变登录按钮文本,背景色,显示loading动画,不可点击

    用户5997198
  • 2018春招前端面试: 闯关记(精排精校)

    box-sizing有两个值:content-box(W3C标准盒模型),border-box(怪异模型),

    CRPER
  • Flash/Flex学习笔记(36):自己动手实现一个滑块控件(JimmySilder)

    先看最终的演示: 滑块条的应用实在太广泛了:mp3播放器中声量的大小控制,视频播放时的画面亮度调节,阅读新闻时字体大小的实时调整,对象的大小互动控制... 分析...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券