专栏首页Python小屋Python多进程编程时__name__属性的作用

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

问题描述:

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小屋(Python_xiaowu),作者:董付国

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

原始发表时间:2020-09-13

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python截屏扩展库pyscreenshot安装与使用

    PIL是非常成熟的Python图像处理扩展库,但只支持Python 2.x,另一个同样功能的扩展库pillow完美支持Python 3.x。然而,这两个库的部分...

    Python小屋屋主
  • Python实现小数的二进制与十进制形式转换

    对于十进制小数,乘以2,取整数部分,对剩余的小数部分重复这个过程,直至小数为0,把得到的整数部分依次保存,即为转换结果。例如,十进制小数0.125转换为二进制小...

    Python小屋屋主
  • Python编程常见出错信息及原因分析(5):安装扩展库

    本文主要介绍使用pip安装扩展库时常见的错误。 (1)pip命令应该在命令提示符环境中执行,如果在Python开发环境中执行,则会出现下面的错误: ? (2)不...

    Python小屋屋主
  • 浅谈对机器学习的理解

    在网上看到关于一篇ML的文章,很不错,转载过来共勉.(http://www.36dsj.com/archives/21024).

    红色石头
  • 李航博士:浅谈我对机器学习的理解

    李航博士,华为技术有限公司 诺亚方舟实验室 首席科学家 ? 算算时间,从开始到现在,做机器学习算法也将近八个月了。虽然还没有达到融会贯通的地步,但至少在熟悉了算...

    机器学习AI算法工程
  • 机器学习算法经验总结

    算算时间,从开始到现在,做机器学习算法也将近八个月了。虽然还没有达到融会贯通的地步,但至少在熟悉了算法的流程后,我在算法的选择和创造能力上有了不小的提升。实话...

    机器学习AI算法工程
  • 全能无线渗透测试工具,一个LAZY就搞定了

    近来一直在研究无线安全方面的东西,特别是在无线渗透测试这块,每次渗透测试时总要来回不停的切换操作和挑选利器,很是麻烦。就想看看是否可以有一款功能全面的集合型工具...

    FB客服
  • 腾讯在线教育的小程序云开发实践

    陈天忱,IMWEB团队成员,腾讯前端开发工程师, 主要负责腾讯课堂小程序,腾讯课堂直播间等业务模块。

    腾讯云开发TCB
  • 微信小程序开发应该注意规划这些问题才有利于创业者对症下药

    微信小程序是一款无需下载、无需安装、即用即走的小应用,实现了用户“触手可及”的愿望,并且操作十分简单,解救了千万群众的手机内存,很多开发者也看到了这“用完即走”...

    速成应用小程序开发平台
  • 如何在微软iis服务器部署ssl证书

    现在无论是购买或者免费申请都ssl证书都非常方便了,这里我们都ssl证书是在腾讯云免费申请都。(建议在PC端阅读)

    乐网网络

扫码关注云+社区

领取腾讯云代金券