Python3多线程? [复制]

Posted

技术标签:

【中文标题】Python3多线程? [复制]【英文标题】:Python3 Multithreading? [duplicate] 【发布时间】:2021-03-30 15:27:04 【问题描述】:

我正在尝试理解 python3 中的多线程。 python3 是否支持多线程?是/否。用于多线程而不是第 3 方的核心 Python 包/库,以及多线程和多处理之间的区别。

【问题讨论】:

多处理? docs.python.org/3/library/multiprocessing.html @FedericoBaù:这不是多线程,尽管它通常可以用来替代它。 " 虽然它通常可以用来替代它。"这就是我添加它的原因。 @Samwise 感谢您抽出宝贵时间,我在谷歌上搜索,但...quora.com/Why-does-Python-not-support-multithreading 【参考方案1】:

显然是的。这就是threadingconcurrent.futures 内置模块的用途(后者也支持多进程处理,multiprocessing 也是如此)。也就是说,CPython 仍然有一个GIL,因此在不涉及第三方包(或使用多进程技术)的情况下,您只会看到线程在 I/O 绑定任务上的好处; CPU 绑定线程一次只能运行一个。

【讨论】:

以上是关于Python3多线程? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 从库IO线程分析

Python3 多线程多进程

Python3多线程_thread模块的应用

Python3 多线程

python3.7多线程代码不执行?

python3多线程应用详解(第三卷:图解多线程中join,守护线程应用)