gpt4 book ai didi

Python 和线程与 PyPy?

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:16 31 4
gpt4 key购买 nike

我在 python 中有一个 kivy 应用程序,它使用一些线程。由于全局解释器锁,python 无法在不同的内核上运行这些线程,我想尝试使用 PyPy 看看我是否可以让线程在不同的内核上运行得更快因为 PyPy 是不同的并且提供stackless(那是什么?:)。

是否有人可以分享一些关于如何制作一个简单的 python 程序的信息,该程序通过模块 threading 启动一些线程,与 pypy 解释器一起运行,以便它使用此 stackless 特征?

最佳答案

Pypy 无法解决每次运行单线程的 Python 问题,因为它还使用了 GIL - http://doc.pypy.org/en/latest/faq.html#does-pypy-have-a-gil-why

除此之外,Kivy 是一个嵌入 Python 本身的复杂项目 - 虽然我不是很了解,但我怀疑是否可以将其中使用的 Python 切换为 Pypy。

根据您正在做的事情,您可能想要使用 multiprocessing 模块而不是 threading - 它是一种直接替代品,可以使进程间变得透明调用 Python 函数,因此可以利用多核。 https://docs.python.org/3/library/multiprocessing.html

这是 cPython 中的标准,可能在 Kivy 中使用,if(且仅当)子进程中的所有代码只处理数字运算,等等,并且所有用户交互和显示更新在主进程上进行。

关于Python 和线程与 PyPy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449851/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com