Python中进程、线程与协程的详细解析是怎样的?

2026-05-26 12:440阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计10941个文字,预计阅读时间需要44分钟。

Python中进程、线程与协程的详细解析是怎样的?

1、概念【注意】公众微信号轻松学编程了解更多。回复协议获取获取本文字源代码。从计算机硬件角度:计算机的核心CPU承担了所有计算任务。一个CPU在某一时刻只能处理一个任务。


1、概念

从计算机硬件角度:

计算机的核心是CPU,承担了所有的计算任务。

一个CPU,在一个时间切片里只能运行一个程序。

图1. 操作系统

1.1 进程

进程:是CPU对程序的一次执行过程、一次执行任务。各个进程有自己的内存空间、数据栈等。操作系统分配内存的基本单位(打开、执行、保存…)

1.2 线程

线程:是进程中执行运算的最小单位,是进程中的一个实体。(打开、执行、保存…)

一个程序至少有一个进程,一个进程至少有一个线程。

操作系统分配CPU的基本单位

1.3 协程

协程:比线程更小的执行单元,又称微线程,在单线程上执行多个任务,自带CPU上下文

用函数切换,开销极小。不通过操作系统调度,

没有进程、线程的切换开销。(gevent,monkey.patchall)

举例

我们假设把一个进程比作我们实际生活中的一个拉面馆,负责保持拉面馆运行的服务员就是线程,每个餐桌代表要完成的任务。

阅读全文

本文共计10941个文字,预计阅读时间需要44分钟。

Python中进程、线程与协程的详细解析是怎样的?

1、概念【注意】公众微信号轻松学编程了解更多。回复协议获取获取本文字源代码。从计算机硬件角度:计算机的核心CPU承担了所有计算任务。一个CPU在某一时刻只能处理一个任务。


1、概念

从计算机硬件角度:

计算机的核心是CPU,承担了所有的计算任务。

一个CPU,在一个时间切片里只能运行一个程序。

图1. 操作系统

1.1 进程

进程:是CPU对程序的一次执行过程、一次执行任务。各个进程有自己的内存空间、数据栈等。操作系统分配内存的基本单位(打开、执行、保存…)

1.2 线程

线程:是进程中执行运算的最小单位,是进程中的一个实体。(打开、执行、保存…)

一个程序至少有一个进程,一个进程至少有一个线程。

操作系统分配CPU的基本单位

1.3 协程

协程:比线程更小的执行单元,又称微线程,在单线程上执行多个任务,自带CPU上下文

用函数切换,开销极小。不通过操作系统调度,

没有进程、线程的切换开销。(gevent,monkey.patchall)

举例

我们假设把一个进程比作我们实际生活中的一个拉面馆,负责保持拉面馆运行的服务员就是线程,每个餐桌代表要完成的任务。

阅读全文