python如何克服全局解释器锁

python如何克服全局解释器锁,python,Python,我已经使用python实现了从ClearQuest服务器提取数据的工具。我需要在clearquest中进行大量搜索,所以我使用线程实现了它。 为此,我尝试为每个线程打开单独的clearquest会话。当我尝试运行这个时,我得到了运行时错误,并且没有一个clearquest会话正确打开 我在互联网上做了一些研究,发现这是因为python中的全局解释器锁。我想知道如何克服这个GIL…任何想法都将非常受欢迎而不是使用线程,使用不同的进程并使用某种IPC在每个进程之间进行通信。而不是使用线程,使用不同的

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


我在互联网上做了一些研究,发现这是因为python中的全局解释器锁。我想知道如何克服这个GIL…任何想法都将非常受欢迎

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

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

我认为不会因为GIL而出现运行时错误。你能粘贴回溯吗?如果代码的某些关键部分不是可重入的,则必须使用一些并发原语来隔离它们


GIL的主要问题是它将强制串行化计算。结果是吞吐量和可伸缩性降低

我认为您不会因为GIL而出现运行时错误。你能粘贴回溯吗?如果代码的某些关键部分不是可重入的,则必须使用一些并发原语来隔离它们


GIL的主要问题是它将强制串行化计算。结果是吞吐量和可伸缩性降低

Python2.6+的
多处理
包是一个很好的候选者:Python2.6+的
多处理
包是一个很好的候选者:实际的错误消息是什么?一般来说,GIL只会通过使CPU绑定的程序线程化而不会给出错误来阻止您获得良好的性能。clearquest服务器正在引发异常,并且在线程化时不允许打开会话..但是,如果clearquest不允许并发连接,那么无论您使用线程还是进程,您都会遇到同样的问题。实际的错误消息是什么?一般来说,GIL只会通过使CPU绑定的程序线程化而不会给出错误来阻止您获得良好的性能。clearquest服务器正在引发异常,并且在线程化时不允许打开会话..但是,如果clearquest不允许并发连接,那么无论您使用线程还是进程,您都会遇到同样的问题。