Python如何运行?python
依赖解释器,解释器会执行2个步骤:多线程
1. 将源码编译为字节码,不是2进制代码,线程
-->若是Python进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以.pyc 为扩展名的文件,进程
-->若是Python没法在机器上写入字节码,那么字节码将会在内存中生成并在程序结束时自动丢弃。 内存
建议:在构建程序的时候最好给Python赋上在计算机上写的权限,这样只要源代码没有改变,生成的.pyc文件能够重复利用,提升执行效率。资源
2. 将字节码发到Python虚拟机(Pathon Virtual Machine)上运行,PVM是python系统的一部分,是python的运行引擎,控制循环运行字节码。源码
参考其余博主。虚拟机
Python多线程?编译
python主要经过thread和threading实现多线程支持,threading模块对thread模块进行二次封装,比较好用,但因为GIL的存在使得即便用多处理器仍然没法充分利用CPU资源。thread
Python多线程机制在GIL(global interpreter Lock)全局解释锁的基础上创建的,在多线程状况,GIL经过控制解释器的使用权限分配给线程。
假设A B C三个线程,A得到解释器的权限,剩下两个线程须要等待,