【发布时间】:2021-07-24 00:58:15
【问题描述】:
我想从 python 调用一些 c 函数来提高我的代码的性能。但是我无法在网上找到当我使用 ctypes 库调用 C 函数时是否释放了 GIL。举个简单的例子:
from ctypes import *
fun = cdll.LoadLibrary("libc.so.6")
fun.sleep.argtypes = [c_uint]
fun.sleep(c_uint(5))
在调用fun.sleep 期间是否释放了 GIL?
【问题讨论】:
-
请注意,您不必包装参数。
ctypes通过.argtypes知道参数类型,所以fun.sleep(5)工作正常。 -
@MarkTolonen 感谢您的提示!
标签: python ctypes gil python-cffi