`
lixinye0123
  • 浏览: 335610 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

欢迎Python2.6:多处理器编程

阅读更多
原文:http://www.blogchina.com/20081009613591.html

    Python2.6正好在10.1发布,我还没有仔细看完就迫不及待地写这个介绍给大家,有太多令人激动的新改进。2.6是向 Python3.0(Python3000)过渡的版本,Python3000是一个新的台阶,不跟python2.x序列兼容。我仔细地看了一下新增加 的处理多进程的包组Multiprocessing(PEP 371),这是python为利用渐成主流的M3系统平台提供的服务而精心打造的武器。官方文档说是“Process-based ‘Threading’interface”:(注:M3平台是我的独出心裁,就是指多核、多处理器和多计算机系统Multicore、Multi CPU、Multi computers,我叫他M3系统编程,把本地的多核心多处理器与远程多计算机放在同一个框架下面来考虑有许多优势,例如multiprocessing.Manager就是这样做的).

    Python处理并行计算的两个主要工具是Threading和Multiprocessing,像上面的文档说得multiprocessing使用类 似Threading的API来创建和管理进程(不是线程!)。令人振奋的是multiprocessing提供本地和远程的同步处理方法,能让程序员充 分利用M3提供的强大计算能力,而不是让它们停留在广告效应上,不再是“银样蜡枪头,中看不中用”了。多线程技术是我们比较熟悉的,但是多线程不能利用多核心和多处理器的运算能力。在分布式并行处理方面,python是捷足先登引领潮流了。这绝不是偶然的,Guido van Rossum在操作系统导师Andrew S Tanenbaum主 持的最早分布式操作系统Amoeba工作的时候,为它开发系统管理程序设计开发的,所以python具有优良的血统,是专门为分布式系统开发的工具,我个 人感觉在分布式并行处理方面python要领先于java,更不用说是C#了。当然,偏好有的时候就是偏见!Python2.6也就是 Python3000,有效地解决了(side-stepping)“全局锁GIL”的问题,我们来看wikipedia上的说法:

现在把分布式并行系统编程的界面和系统调用封装在一起了,简单介绍如下:
  1. multiprocessing.Process创建新的进程,参数target=f,就把一个名字f的子进程创建出来了;
  2. multiprocessing.Queue
  3. multiprocessing.Pipe
  4. multiprocessing.Pool用来管理创建的多个子进程让它们协调工作
  5. multiprocessing.Manager管理在远程服务器上创建的子进程,封装了Lock和RLock锁和信号Semophore,这样不必单独处理并行问题了。

分享到:
评论

相关推荐

    IronPython 2.6源代码

    7. **并行计算**:结合.NET的多线程和并行计算框架,IronPython可以编写高性能的并行处理程序,充分利用多核处理器的潜力。 8. **动态语言运行时(DLR)**:IronPython利用.NET Framework的动态语言运行时(Dynamic...

    Python参考手册(第4版,Python 2.6)

    Python 2.6为开发人员提供了更多的工具和支持,特别是在处理多线程、网络编程等方面有了显著改进。 ### Python 2.6的新特性 #### 1. **增强的异常处理** Python 2.6在异常处理方面进行了改进,支持了更灵活的语法...

    python官方2.6.amd64版本msi安装包

    6. **多线程**:Python 2.6改进了对多线程的支持,尽管GIL(全局解释器锁)仍然存在,但可以在某些场景下更有效地利用多核处理器。 安装过程: 1. **MSI安装程序**:这个`.msi`文件是微软Windows的安装包,双击后会...

    python 2.6.2 官方文档

    `multiprocessing` 模块支持多进程编程,利用多核处理器提高性能。 4. **异常处理**:Python 2.6 异常处理机制沿用了 2.x 系列的 `try/except/finally` 结构,同时引入了 `raise` 语句的新用法,可以直接抛出自定义...

    python官方2.6.2c1版本msi安装包

    5. **多线程支持**:虽然Python的全局解释器锁(GIL)限制了多核处理器上的并行执行,但Python 2.6仍然提供多线程API,允许开发者编写并发程序,尽管这些程序在CPU密集型任务上可能不会实现完全并行。 6. **元编程...

    python官方2.6.4rc2.amd64版本msi安装包

    Python 2.6.4rc2 是 Python 编程语言的一个历史版本,它专为 AMD64(也称为 x86_64 或 x64)架构设计,这是一个64位处理器架构。这个版本的 MSI(Microsoft Installer)安装包是为 Windows 操作系统准备的,用于方便...

    python官方2.6.4.amd64版本msi安装包

    6. **多线程**:Python 2.6支持多线程编程,但要注意GIL(全局解释器锁)的存在,它限制了多核处理器下的并行计算能力。 7. **标准库扩展**:Python 2.6的标准库增加了许多模块,如`json`模块用于JSON数据序列化,`...

    python官方2.6.3.amd64版本msi安装包

    8. **多线程编程**:Python 2.6提供了一个`threading`模块,支持并发执行任务,但请注意,由于全局解释器锁(GIL)的存在,Python在多核CPU上的并行性能有限。 `msi`文件是Microsoft Windows下的安装包文件,它使用...

    python官方2.6.5rc2版本msi安装包

    4. **验证安装**:安装完成后,可以通过命令行输入`python`或`python2.6`来启动Python解释器并验证安装是否成功。 总的来说,Python 2.6.5rc2是Python 2.x系列的一个里程碑,尽管现在推荐使用Python 3.x,但对于...

    pywin32-221.win-amd64-32-py2.6.rar

    在标题"pywin32-221.win-amd64-32-py2.6.rar"中,"pywin32-221"表示该版本是PyWin32的221版,"win-amd64"表明这是针对64位AMD处理器优化的版本,而"py2.6"则意味着它是为Python 2.6编译的。描述中的"pywin32-221.win...

    python官方2.6.6.amd64版本msi安装包

    Python是世界上最受欢迎的编程语言之一,特别是在数据科学、人工智能和Web开发领域。Python 2.6.6是在2011年发布的版本,虽然现在它已经不再被官方支持(自2020年1月1日起),但在某些特定场景下,用户可能还需要...

    Python库 | tff-0.2.2-py2.6-macosx-10.9-intel.egg

    这个库的版本是0.2.2,专为Python 2.6编译,并且适用于macOS 10.9系统,采用Intel处理器架构。这种格式的文件通常是一个可执行的Python egg文件,它是一个打包的Python模块,便于安装和分发。 描述中提到,这是一个...

    Python库 | pywincffi-0.4.0.win-amd64-py2.6.msi

    6. **兼容性**:`pywincffi`适用于Python 2.6及更高版本,并且专为64位AMD处理器优化,文件名中的`win-amd64-py2.6`即表明它是为64位Python 2.6编译的版本。 ### 安装与使用 安装`pywincffi`可以通过下载提供的`....

    多進程編程入門:快速提升Python程序性能 - 每日頭條1

    【部分内容】提到Python的多进程模块`multiprocessing`,该模块自Python 2.6版本开始引入,由Jesse Noller和Richard Oudkerk在PEP 371中定义。与`threading`模块不同,`multiprocessing`允许程序员创建进程,从而...

    Python库 | libsass-0.10.0-cp26-none-macosx_10_11_intel.whl

    Python是一种多用途的编程语言,广泛应用于后端服务器逻辑,而Python库如libsass则提供了开发者所需的特定功能,增强了Python在处理CSS预处理方面的能力。 在压缩包子文件的文件名称列表中,我们只看到了一个文件...

    python-2.7.8(32位和64位)

    `python-2.7.8.amd64.msi`是64位版本的安装文件,适用于那些拥有64位处理器和操作系统环境的用户,它可以利用更多的内存资源并处理更大范围的数据。另一方面,`python-2.7.8.msi`是32位版本,适用于32位操作系统或旧...

    python官方2.6.5rc1.amd64版本msi安装包

    5. **Unicode支持**:Python 2.6增强了对Unicode的支持,使得处理多语言文本变得更加容易。 6. **新的语言特性**:例如,动态类型检查的加强,增强了元编程能力等。 安装Python 2.6.5rc1的步骤: 1. **下载**:首先...

    python27 32位和64位安装包

    Python 2.7是Python编程语言的一个重要版本,它在2010年发布,直至2020年正式停止支持。尽管如此,许多旧项目和系统仍然依赖于这个版本,尤其是那些无法轻易升级到更现代版本的系统。Python 2.7有32位和64位两种版本...

    Python库 | cryptography-1.5.1-cp26-cp26m-macosx_10_10_intel.whl

    cp26m-macosx_10_10_intel.whl”指的是一款名为“cryptography”的Python库,版本为1.5.1,适用于Python 2.6(cp26)且具有CPython ABI标记(cp26m),特别设计用于macOS 10.10(Yosemite)系统上的Intel处理器。...

Global site tag (gtag.js) - Google Analytics