0

我已经实现了使用 python 从清除任务服务器中提取数据的工具。我需要在 clearquest 中进行大量搜索,所以我使用线程实现了它。为此,我尝试为每个线程打开单独的 clearquest 会话。当我尝试运行它时,出现运行时错误,并且没有正确打开 clearquest 会话。

我在互联网上做了一些研究,发现这是因为 python 中的 Global Interpretor Lock。我想知道如何克服这个 GIL ......任何想法将不胜感激

4

2 回答 2

3

不使用线程,而是使用不同的进程并使用某种 IPC 在每个进程之间进行通信。

于 2012-08-17T12:11:16.437 回答
2

我认为您不会因为 GIL 而出现 RuntimeErrors。你可以粘贴回溯吗?如果您有一些不可重入的代码关键部分,您将不得不使用一些并发原语来隔离它们。

GIL 的主要问题是它会强制序列化计算。结果是吞吐量和扩展性降低。

于 2012-08-17T12:15:42.330 回答