态度诚恳,但是缺乏洞见

LipingTaBaBa 评论 Python源码剖析 3 2012-01-12 00:13:02
tomoyo
tomoyo 2012-03-27 19:42:12

再有锁的问题,在源码中只有一句话“ * Python's threads are serialized, so object malloc locking is disabled.” 我不熟悉python的线程,理解不了为什么内存分配可以不用锁,想到书中找答案,结果书中也是完全忽略,一个字的评论都没有。
---
当时看的时候也有同感。

另外python里面内存管理相关的注释相对其他部分的注释翔实不少,oython的内存管理看的让我拧脑袋的感觉

hoterran
hoterran (井底之蛙) 2012-03-29 16:46:50

严谨,估计很多人都不知道malloc,free 是glibc的库函数,而非系统调用,系统调用是brk,mmap.
虚拟机语言源码剖析如果单纯分析源码确实给c程序员提供写复杂数据结构提升功力而非给语言使用者看的.

Peter W
Peter W 2012-05-12 22:28:58

我还没看过这本书,不过关于线程不需要锁的问题有可能是由于Python的全局锁的问题,也就是说Python的线程并不是并行的。可以去查一下关于Global Interpreter Lock (GIL) 的信息。

tomoyo
tomoyo 2012-05-13 23:46:03

@brownianwalker 应该是的,GIL确实使多线程串行运行的。

这就是生活
这就是生活 2012-09-09 23:40:53

内存管理这一章看着看着就不知所云了,接着我也就没有仔细看下去了。
这样的内存分配有没有抓呢的论文或者是专业的进行性能测试。
真的是非常的复杂,一般人是想不到这样的内存管理机制的。
呵呵,当然Python的作者当然不是一般人。

Messi
Messi 2015-12-06 16:20:47

这样啊,那楼主觉得,如果要深入学习python和C的couse,有哪些不错的资源推荐?谢谢~

欣蔚蓝
欣蔚蓝 (读过的书,走过的路) 2016-12-06 12:38:02

这本书应该是个源码的Index,梳理清楚Python代码的结构和注意点,面面俱到是不可能的,很多方面涉及到很多的知识点,需要加上自己额外的鼓捣才行

lost in beijing
lost in beijing 2018-07-29 08:26:45
@brownianwalker 应该是的,GIL确实使多线程串行运行的。 @brownianwalker 应该是的,GIL确实使多线程串行运行的。 tomoyo

对的。