我已经实现了一个工具,用python从clear quest服务器上提取数据。我需要在clearquest中做很多搜索,所以我使用线程实现了它。为此,我尝试为每个线程打开单独的clearquest会话。当我尝试运行这个的时候,我得到了运行时错误,并且没有一个clearquest会话被正确打开。
我在互联网上做了一些研究,发现这是因为python中的全局解释器锁。我想知道如何克服这个GIL...Any的想法将不胜感激
发布于 2012-08-17 20:11:16
不使用线程,而是使用不同的进程,并使用某种类型的IPC在每个进程之间进行通信。
发布于 2012-08-17 20:15:42
我不认为你会因为GIL而拥有RuntimeErrors。你能粘贴回溯吗?如果你有一些代码的关键部分是不可重入的,你将不得不使用一些并发原语来隔离它们。
GIL的主要问题是它将强制序列化计算。其结果是降低了吞吐量和可扩展性。
https://stackoverflow.com/questions/12005515
复制相似问题