首页 > 编程笔记

Python多线程是什么?

多线程用于同时执行多个不同的程序或任务,可以做到并行处理和提高程序执行性能。Python 提供了两个多线程模块,即 _thread 和 threading。

1. 单线程应用程序

要想了解多线程,就要首先知道进程的组成结构以及单线程应用程序。

当执行任何应用程序时,CPU 会为应用程序创建一个进程(process)。该进程由下面元素组成:

如果该应用程序只有一个调用堆栈及一个计数器,那么该应用程序称为单线程的应用程序。

2. 多线程应用程序

多线程的应用程序会创建一个函数,来执行需要重复执行多次的程序代码,然后创建一个线程执行该函数。一个线程(thread)是一个应用程序单元,用于在后台并行执行多个耗时的动作。

在多线程的应用程序中,每一个线程的执行时间等于应用程序所花的 CPU 时间除以线程的数目。因为线程彼此之间会分享数据,所以在更新数据之前,必须先将程序代码锁定,如此所有的线程才能同步。

Python 有两个线程接口:_thread 模块与 threading 模块:
除了_thread 模块与 threading 模块之外,Python 还有一个 queue(队列) 模块。通过 queue 模块内的 queue 类,可以实现在多个线程中安全地移动 Python 对象。

优秀文章