相关疑难解决方法(0)

解释Python扩展多线程

Python解释器具有全局解释器锁,据我了解,扩展必须在多线程环境中获取它。但是Boost.Python HOWTO页面说扩展功能必须释放GIL并在退出时重新获取它。

我想抵制在这里进行猜测的诱惑,所以我想知道在以下情况下应该是什么GIL锁定模式:

  1. 从python调用扩展(大概在python线程中运行)。
  2. 扩展程序的后台线程会回调Py_*函数。

最后一个问题是,为什么链接文件说应该发布GIL并重新获得GIL?

c++ python multithreading boost-python

4
推荐指数
1
解决办法
1288
查看次数

标签 统计

boost-python ×1

c++ ×1

multithreading ×1

python ×1