• CPython——WIKIPEDIA


    CPython

    Cpython是用C语言实现的Python解释器。作为官方实现,它是最广泛使用的Python解释器。除了CPython以外,它是最广泛使用的Python解释器。

    除了CPython以外,还有用Java实现JPython,用.NET实现IronPython,使Python方便地和Java程序、.NET程序集成。

    另外还有一些实验性的Python解释器比如PyPy。

     CPython是使用字节码的解释器,任何程序源代码在执行之前先要编译成字节码。它还有和几种其它语言(包括C语言)交互的外部函数接口。

    支持的平台

    类Unix

    * AIX

    * BSD
    * Darwin
    * FreeBSD
    * HP-UX
    * IRIX 5以及更高版本
    * 九号项目
    * Mac OS X
    * NetBSD
    * Linux
    * OpenBSD
    * Solaris
    * Tru64
    *其它Unix

    桌面操作系统

    * AROS
    * AtheOS
    * BeOS
    * Windows
    * Windows NT
    * OS/2
    * RISC OS

    特殊的和嵌入式

    * GP2X
    * iPodLinux
    * Nintendo DS
    * Nintendo Gamecube
    * Symbian OS Series60
    * Nokia 770 Internet Tablet
    * Nokia N800
    * Nokia N810
    * Palm OS
    * PlayStation 2
    * PlayStation 3(Linux)
    * Psion
    * QNX
    * Sharp Zaurus
    * Xbox/XBMC
    * VxWorks
    * Openmoko

    大型机和其它

    * OS/390
    * VMS
    * z/OS

    曾经支持的平台

    PEP 11列出了CPython停止支持的平台。

    • DOS(2.0开始停止支持)
    • IRIX 4(2.3开始停止支持)
    • Mac OS 9(2.4开始停止支持)
    • MINIX(2.3开始停止支持)

    非官方的移植

    这些版本没有进入Python软件基金会的官方版本,这些版本包含了为特定平台提供的模块,如为PSP提供的图像和声音API以及为S60提供的SMS和照相机API。

    • Amiga [2]
    • AS/400 [3]
    • DOS平台使用的DJGPP [4]
    • PSP [5]
    • Symbian [6]
    • Windows CE/Pocket PC [7]

    并发问题

    多处理器的计算机上使用CPython的主要问题来自CPython的全局解释器锁(Global Interpreter Lock,GIL),它使得CPython不能进行并发编程。

    [3]要做到并发编程,就必须为每一个线程运行一个解释器。

    如果这样的话,它们之间的通讯就非常困难。

    所以社区内一直在讨论是否要从CPython中去除GIL。[4]

    注释

    Martelli, Alex. Python in a Nutshell 2nd edition. O'Reilly. 2006: 5–7. ISBN 0-596-10046-9.

    参考

    Release 3.7.1. Python Software Foundation. [2018-10-20].
    ^ Release v2.7.15. Python Software Foundation. [2018-05-27].
    Python/C API Reference Manual: Thread State and the Global Interpreter Lock 互联网档案馆的存档,存档日期2008-09-14.
    Python Library and Extension FAQ: Can't we get rid of the Global Interpreter Lock?


      转载自:WIKIPEDIA——CPython

  • 相关阅读:
    python 全局变量与局部变量
    Python 百分号字符串拼接
    Python集合的基本操作
    sorted by value in dict python
    gVim vundle
    vim config
    vim move the cursor in a long sentence
    步步为营-37-自动生成数据库连接字符串
    步步为营-36-ADO.Net简介
    步步为营-35-SQL语言基础
  • 原文地址:https://www.cnblogs.com/LinQingYang/p/12705609.html
Copyright © 2020-2023  润新知