Python教程系列第15篇:如何实现多线程编程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2150个文字,预计阅读时间需要9分钟。
在当今时代,从社交媒体到智能设备,数据已成为我们生活的核心。程序的效率取决于其处理网络操作和计算数据的强大能力。大量数据处理可能出现问题;更重要的是程序执行时间的增加。
在当今的现代世界,从社交媒体到智能设备,数据都是我们生活的核心。程序的性能取决于其经常通过网络操作和计算数据的能力。处理大量数据会出现问题;尤其是程序执行时间的增加会导致“阻塞”或“滞后”。
出于对程序的高效执行和日益复杂的多核操作系统/硬件架构的需要,编程语言试图更好地利用这种行为。“并发”一词的字面意思是“同时发生”。由于计算机可以同时运行多条指令,因此可以显著减少并发程序的执行时间。
Python有三个主要的操作系统概念交织在其并发模型中;即线程、任务和进程。
什么是线程?你为什么想要它?
从本质上讲,Python是一种线性语言,但当你需要更多的处理能力时,线程模块非常方便。虽然Python中的线程不能用于并行CPU计算,但它非常适合I/O操作,如web抓取,因为处理器处于空闲状态,等待数据。
线程正在改变游戏规则,因为许多与网络/数据I/O相关的脚本将大部分时间用于等待来自远程源的数据。由于下载可能没有链接(即,抓取单独的网站),处理器可以并行地从不同的数据源下载,并在最后合并结果。对于CPU密集型进程,使用线程模块没有什么好处。
幸运的是,线程包含在标准库中:
import threadingfrom queue import Queue
import time
你可以使用target作为可调用对象,使用args将参数传递给函数,并start启动线程。
本文共计2150个文字,预计阅读时间需要9分钟。
在当今时代,从社交媒体到智能设备,数据已成为我们生活的核心。程序的效率取决于其处理网络操作和计算数据的强大能力。大量数据处理可能出现问题;更重要的是程序执行时间的增加。
在当今的现代世界,从社交媒体到智能设备,数据都是我们生活的核心。程序的性能取决于其经常通过网络操作和计算数据的能力。处理大量数据会出现问题;尤其是程序执行时间的增加会导致“阻塞”或“滞后”。
出于对程序的高效执行和日益复杂的多核操作系统/硬件架构的需要,编程语言试图更好地利用这种行为。“并发”一词的字面意思是“同时发生”。由于计算机可以同时运行多条指令,因此可以显著减少并发程序的执行时间。
Python有三个主要的操作系统概念交织在其并发模型中;即线程、任务和进程。
什么是线程?你为什么想要它?
从本质上讲,Python是一种线性语言,但当你需要更多的处理能力时,线程模块非常方便。虽然Python中的线程不能用于并行CPU计算,但它非常适合I/O操作,如web抓取,因为处理器处于空闲状态,等待数据。
线程正在改变游戏规则,因为许多与网络/数据I/O相关的脚本将大部分时间用于等待来自远程源的数据。由于下载可能没有链接(即,抓取单独的网站),处理器可以并行地从不同的数据源下载,并在最后合并结果。对于CPU密集型进程,使用线程模块没有什么好处。
幸运的是,线程包含在标准库中:
import threadingfrom queue import Queue
import time
你可以使用target作为可调用对象,使用args将参数传递给函数,并start启动线程。

