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對象參與。
當然。只要你在完成時釋放你的記憶,並在合適的時候使用鎖,你就是金。 –