专栏首页鸿的学习笔记简单聊聊Python解释器(一)

简单聊聊Python解释器(一)

Python的解释器,从运行过程上来说就是在模拟一个CPU的处理,只要理解了这一点,python中鼎鼎大名的全局解释锁和多进程也就能够理解了。(Ps:在远古时代,python社区试图把python的解释锁拿掉,但是效果并不理想,因为共享资源及其产生的锁机制极大的制约了处理速度。虽说如此,但是我们还是可以基于多台服务器,用python实现一个简单的分布式架构和多进程处理框架的,不过这又是另一话题了。)所以,在只要理解了CPU的处理机制也就理解了python的解释器。

从整个py文件的执行过程来讲,核心只有两个,那就是虚拟机和字节码,这和java的实现是一样的,但是jvm在字节码的解释上做的比python更加开放,只要是能够解释成jvm能识别的字节码文件,jvm就能够执行。解释器的激活相当简单,只要在屏幕上输入python,就可以了,如下图。

整个执行过程简单来讲,python会先对文件中的源代码进行编译生成一条条的字节码,最后再由虚拟机按照顺序一条条执行,就完成了整个过程。如下图。

编译器和虚拟机这些东西都藏身于python35.dll文件中。有感于今天编写一个多进程的脚本时,一个简单的资源分配都算了好久,决定每周争取一篇聊聊计算机的相关话题,一篇会写写一些简单的算法实现。

本文分享自微信公众号 - 鸿的学习笔记(shujuxuexizhilu),作者:鸿

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

原始发表时间:2017-04-29

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2018的第一份书单

    1.《fluent python》(中文版:《流畅的python》) 这本书来源于某个公众号的推荐(忘了是哪个了),在读这本书之前,已经阅读了市面上很多pyth...

    哒呵呵
  • python源码阅读笔记之GC(一)

    python源码阅读: 参考书籍:《python源码剖析》 摘要:写这个系列的目的呢,是想为python的学习画上一个暂时的句号,接下来的重点应该是scala这...

    哒呵呵
  • 由Dataflow模型聊Flink和Spark

    Dataflow模型(或者说Beam模型)旨在建立一套准确可靠的关于流处理的解决方案。在Dataflow模型提出以前,流处理常被认为是一种不可靠但低延迟的处理方...

    哒呵呵
  • Flask架站基础篇(六)--mysql-python 安装

    mysql-python封装了mysql 针对python的驱动,使我们用起来更加轻松。

    喵叔
  • grpc官方文档实验与翻译(python

    tensorflow分布式与tensorflow serving底层通信都是是用的grpc,所以就看了一下grpc的基本用法(python版)

    py3study
  • python到底要学多久才能找到工作?

    很多小伙伴加我好友问“行哥,我学python要学多久才能找到工作呢?” 但是经过行哥的仔细分析之后,发现这个问题很有意思

    行哥玩Python
  • [工具]如何在vscode中构建python工程

    之前用过Anaconda下的Spyder、Pycharm和Jupyter等写过python的数据分析项目,各有优劣。因为我的C++和Golang项目都是使用的V...

    TOMOCAT
  • python入门到放弃(一)-基本概念

    python是一门动态解释型的强类型定义语言,创始人吉多·范罗苏姆(Guido van Rossum)

    老油条IT记
  • Python3.2.3官方文档(中文版)

    链接:http://www.pythonheidong.com/blog/article/66/

    py3study
  • MySQL for Python(一)

    一.安装mysql-python 1.suse,redhat,fedora系统 #yum install mysqldb 2.debian,ubuntu系统 #...

    py3study

扫码关注云+社区

领取腾讯云代金券