gpt4 book ai didi

Python 多线程 好还是不好?

转载 作者:太空狗 更新时间:2023-10-30 02:49:53 25 4
gpt4 key购买 nike

我一直在尝试编写一个简单的 python 应用程序来实现工作队列我发现的每个关于线程的网页都有一些随机的评论,你不应该使用 python 线程,因为这个或那个,有人可以帮我吗? Python 线程是怎么回事,我可以使用它吗?如果是哪个库?标准的就够了吗?

最佳答案

Python 的线程非常适用于许多任务。由于它们是使用 native 操作系统线程实现的,因此它们允许执行阻塞系统调用并同时保持“运行”——通过在单独的线程中调用阻塞系统调用。这对于必须同时执行多项操作(即 GUI 和其他事件循环)的程序非常有用,甚至可以提高 IO 绑定(bind)任务(例如网页抓取)的性能。

但是,由于全局解释器锁,如果您希望将 CPU 密集型代码分布到多个 CPU 内核,它会阻止 实际上 同时运行多个线程的 Python 解释器 使用线程并以这种方式提高性能,你就不走运了。但是,您可以使用 multiprocessing 模块来实现,它提供了一个类似于 threading 的接口(interface),并使用 processes 而不是 threads 来分配工作.

我还应该补充一点,C 扩展不需要受 GIL 的约束,许多确实发布了它,因此 C 扩展可以通过使用线程来使用多个内核。

因此,这完全取决于您究竟需要做什么。

关于Python 多线程 好还是不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015632/

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