假设我有一个接受整数参数的C(++)函数,并且使用Python API与Python绑定,因此我可以从Python中调用它:
现在,我想并行化它。问题是:在这种情况下GIL如何工作?假设我有一个数字队列需要处理,并且有一些工人(
与通常情况下GIL锁定解释器的情况不同的是,现在您不需要解释器来评估
import c_module
c_module.f(10)
现在,我想并行化它。问题是:在这种情况下GIL如何工作?假设我有一个数字队列需要处理,并且有一些工人(
threading.Thread
)并行工作,每个工人都调用c_module.f(number)
,其中number
取自队列。与通常情况下GIL锁定解释器的情况不同的是,现在您不需要解释器来评估
c_module.f
,因为它已经被编译。所以问题是:在这种情况下,处理是否真正并行?