楔子 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作。当然我们之前说函数也是一个变量,该变量指向一个函数。而且在调用函数时会干什么来着,没错,要在运行时栈中创建栈帧,用于函数的执行。 那么下面就来看看函数在C中是如何实现的,生得一副什么模样 ...
楔子 这次我们来说一下Python中的多线程,在上篇博客中我们说了Python的线程,我们说Python中的线程是对OS线程进行了一个封装,并提供了一个线程状态 PyThreadState 对象,来记录OS线程的一些状态信息。 那什么是多线程呢 首先线程是操作系统调度cpu工作的最小单元,同理进程则是操作系统资源分配的最小单元,线程是需要依赖于进程的,并且每一个进程只少有一个线程,这个线程我们称之 ...
2020-09-11 01:30 0 503 推荐指数:
楔子 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作。当然我们之前说函数也是一个变量,该变量指向一个函数。而且在调用函数时会干什么来着,没错,要在运行时栈中创建栈帧,用于函数的执行。 那么下面就来看看函数在C中是如何实现的,生得一副什么模样 ...
,这个模块是由C编写,内嵌在解释器里面。我们可以import调用,但是在Python安装目录里面则是看不到的 ...
楔子 内存管理,对于Python这样的动态语言来说是非常重要的一部分,它在很大程度上决定了Python的执行效率,因为Python在运行中会创建和销毁大量的对象,这些都涉及内存的管理,因此精湛的内存管理技术是确保内存使用效率的关键。 此外,我们知道Python还是一门提供了垃圾回收机制(GC ...
楔子 现在绝大部分的语言都实现了垃圾回收机制,这其中也包括Python,而不同的语言采用的垃圾回收算法也各不相同。那么,常见的垃圾回收算法都有哪些呢? 引用计数法(reference count): 记录对象的被引用次数, 引用计数降为0时回收 标记-清除法(mark-sweep ...
本章将会从前一章的概念设计带你到初级的实现过程。你将先为编译器和解释器构造一个灵活的框架,接着将初级版的编译器解释器组件集成到框架中。最后编写端对端的测试用例检验这些框架和组件。 ==>> 本章中文版源代码下载:svn co http://wci.googlecode.com/svn ...
楔子 这次我们来看一下Python中类的继承与属性查找机制,我们说Python是支持类的多继承的,在查找属性的时候会沿着继承链不断找下去。那么下面我们就来深入地考察一下类的继承与属性查找在底层是如何实现的。 深入class 我们知道Python里面有很多以双下划线开头、双下划线结尾的方法 ...
楔子 Python除了给我提供了很多的类之外,还支持我们定义属于自己的类,那么Python底层是如何做的呢?我们下面就来看看。 自定义class 老规矩,如果想知道底层是怎么做的,那么就必须要通过观察字节码来实现。 通过之前对函数机制的分析中,我们知道对于一个包含函数定义的Python ...
楔子 在上一篇博客中,我们说了Python函数的底层实现,并且还演示了如何自定义一个函数,虽然这在工作中没有太大意义,但是可以让我们深刻理解函数的行为。此外我们还介绍了如何获取函数的参数,而这一次我们就来看看函数如何调用的。 函数的调用 我们以一个非常简单的函数为例,看看它的字节码 ...