社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python多进程编程时__name__属性的作用

Python小屋 • 4 年前 • 543 次点击  
推荐图书:
《Python程序设计(第3版)》,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,8月第4次印刷

京东购买链接:https://item.jd.com/12668739.html

天猫、当当均已上架,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源:教学大纲、电子教案、微课视频、PPT课件、例题源码、习题答案、考试系统。
《Python程序设计(第3版)》配套教学大纲
《Python程序设计(第3版)》课后习题答案
发送公众号消息“小屋刷题”可以获取Python小屋刷题神器,1200道Python题目随时可以在线练习。

=======================

问题描述:

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

进程是正在执行中的应用程序,是操作系统进行资源分配的最小单位。一个进程是正在执行中的一个程序使用资源的总和,包括虚拟地址空间、代码、数据、对象句柄、环境变量和执行单元等等。一个应用程序同时打开并执行多次,就会创建多个进程。

Python标准库multiprocessing用来实现进程的创建与管理以及进程间的同步与数据交换,是支持并行处理的重要模块,其中创建、启动进程以及进程间同步的用法与threading中的线程类似。标准库multiprocessing同时支持本地并发与远程并发,有效避免了GIL问题,可以更有效地利用CPU资源,尤其适合多核或多CPU环境。

众所周知,Python程序在运行时有个特殊属性__name__,当在Python开发环境中或命令提示符中直接执行Python程序时,特殊属性__name__的值为'__main__'。当使用import语句导入Python程序作为模块使用时,特殊属性__name__的值为程序文件的名字。那么,特殊属性__name__还有别的取值吗?程序中if __name__ == '__main__'这样的判断和选择结构具体有什么作用呢?为什么多进程编程时程序中总是要加上这样一句呢?下面的演示代码解释了这个问题。

演示代码:


运行结果:



温馨提示
关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的1000篇原创技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看500节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源,海量宝藏等你来挖掘

---董付国老师Python系列图书---
友情提示:不建议购买太多,最好先通过京东、当当、天猫查阅图书了解目录和侧重点,然后再选择购买适合自己的书。
(1)《Python程序设计(第2版)》(ISBN:978-7-302-43651-5),清华大学出版社,2016年8月出版,2019年度清华大学出版社畅销图书
(2)《Python可以这样学》(ISBN:978-7-302-45646-9),清华大学出版社,2017年2月
(3)《Python程序设计基础(第2版)》(ISBN:978-7-302-49056-2)清华大学出版社,2018年1月出版,2019年度清华大学出版社畅销图书
(4)《中学生可以这样学Python》(ISBN:978-7-302-48039-6)清华大学出版社
(5)《Python程序设计开发宝典》(ISBN:978-7-302-47210-0)清华大学出版社,2018年10月
(6)《玩转Python轻松过二级》(ISBN:978-7-302-49916-9)清华大学出版社,2018年5月
(7)《Python程序设计基础与应用(ISBN:978-7-111-60617-8),机械工业出版社,2018年9月
(8)Python程序设计实验指导书》(ISBN:9787302525790),清华大学出版社,2019年4月
(9)《Python编程基础与案例集锦(中学版)(ISBN:978-7-121-35539-4),电子工业出版社,2019年4月
(10)大数据的Python基础》(ISBN:978-7-111-62455-4),机械工业出版社,2019年5月出版
(11)译作《Python程序设计》,机械工业出版社(华章),2018年11月出版
(12)繁体版《Python也可以这样学》,台湾博硕文化股份有限公司,2017年10月出版,本书为《Python可以这样学》在台湾发行的繁体版,两本书内容一样,不建议重复购买
(13)《Python程序设计实例教程》(ISBN:978-7-111-63198-9),机械工业出版社
(14)《Python数据分析、挖掘与可视化》(ISBN:978-7-115-52361-7),人民邮电出版社,2019年12月
(15)《Python程序设计(第3版)》(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月
(16)《Python程序设计实用教程》(ISBN:978-7-5635-6065-3),北京邮电大学出版社,2020年7月
(17)《中学生可以这样学Python(微课版)》清华大学出版社,ISBN:9787302554639,2020年8月

2020年秋季学期Python教材推荐与选用参考
董付国老师Python在线课程资源使用方法
董付国老师6本Python教材PDF版免费阅读
《Python数据分析、挖掘与可视化》前3章书稿PDF免费阅读
《Python程序设计基础与应用》前3章书稿PDF免费阅读
号外号外--Python小屋刷题神器上线啦
《中学生可以这样学Python》84节微课免费观看地址
《Python编程基础与案例集锦(中学版)》80课视频免费观看地址


相关阅读:

Python+tkinter+多线程实现桌面上倒计时关闭的顶层窗口

Python实现多进程/多线程同时下载单个文件

Python自动接收微信群消息并推送相应的公众号文章

Python多线程编程的一个掉进去不太容易爬出来的坑

Python+socket+多线程实现同时应答多客户端的自助聊天机器人

重要更新|《Python程序设计开发宝典》例12-7代码有bug

详解Python线程对象daemon属性对线程退出的影响

Python多进程使用队列共享数据协同判断素数

Win10+Python3.6配置Spark创建分布式爬虫

Python使用多进程提高网络爬虫的爬取速度

使用Python编写属于自己的录音软件

Python多线程与Socket编程综合案例:素数

Python使用多线程搜索指定范围内的所有素数

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并行判断多个大整数是否为素数

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73392
 
543 次点击