
Python的线程在说唱方面要比应有的差一些。在三种(实际上是2.5种)案例中,它们实际上为您带来了好处:
如果非Python代码(例如C库,内核等)正在运行,则其他Python线程可以继续执行。这是纯Python代码,无法一次在两个线程中运行。因此,如果您正在执行磁盘或网络I / O,则线程确实可以为您带来收益,因为大部分时间都花在了Python本身之外。
GIL实际上不是 Python的 一部分,它是 CPython 的实现细节(核心Python开发人员从事的“参考”实现,通常只要在Linux机器上运行“ python”之类的东西就可以得到)。
Jython,IronPython和其他任何重新实现的Python通常都 没有 GIL,并且多个纯Python线程 可以 同时执行。
- 0.5的情况:即使您完全是纯Python的用户,也几乎没有从线程中获得性能收益,但就开发人员的时间和解决线程的难度而言,某些问题确实很方便。当然,这也部分取决于开发人员。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)