为什么我需要PyMem_Malloc()的gil?

时间:2015-03-01 04:39:56

标签: python python-c-api

根据this discussionPyMem_Malloc()需要GIL;但是,如果函数只是malloc()的别名,谁在乎?

1 个答案:

答案 0 :(得分:4)

因为它有时不仅仅是malloc()的别名。有时候它是_PyMem_DebugMalloc()的别名,并且在那里有一些全局会计来跟踪唯一的内存对象。仅仅针对PyMem_Malloc()电话发布GIL没有任何意义,所以你可能在C中做一些更复杂的事情。如果是这样的话,你可以简单地致电{ {1}}并没有得到任何调试内容。