1
用cython中的nogil与malloc分配内存安全吗? 也是安全的通过指针与你有多线程程序运行与nogil?Malloc可以安全地使用nogil吗?
用cython中的nogil与malloc分配内存安全吗? 也是安全的通过指针与你有多线程程序运行与nogil?Malloc可以安全地使用nogil吗?
由于CPythons内存管理不是thread-safe,因此GIL已到位。因此,如果您的不是与Python对象(即由Python处理的内存)进行交互,则可以使用nogil
。
此文档for releasing the GIL中提及:
代码在声明的正文不得操纵以任何方式Python对象,而不能调用任何操纵Python对象,而无需首先重新获取GIL 。 Cython目前不检查这一点。
因此,使用malloc
,传递指针和做其他事情是在C
法律是只要绝对安全的,因为没有Python对象参与。
当然。只要你在完成时释放你的记忆,并在合适的时候使用锁,你就是金。 –