如果我选择在Cython脚本中发布GIL,我必须考虑哪些因素?
在Cython程序中释放GIL是否有任何额外的危险或风险?
另外,如何指定要生成的线程数?
答案 0 :(得分:2)
如果我选择在Cython脚本中发布GIL,我必须考虑哪些因素?
在Cython程序中释放GIL是否有任何额外的危险或风险?
你无法安全地做任何与Python对象有关的事情。你不能安全地做任何触及你对象数据的事情,而不知道它是否安全(可能是你自己的锁)。
https://docs.python.org/2/c-api/init.html#thread-state-and-the-global-interpreter-lock会提供一些信息。
另外,如何指定要生成的线程数?
创建线程完全是分开的。您可以使用threading
模块执行此操作,也可以以其他方式执行此操作。