Python中进程、线程与协程的详细解析是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计10941个文字,预计阅读时间需要44分钟。
1、概念【注意】公众微信号轻松学编程了解更多。回复协议获取获取本文字源代码。从计算机硬件角度:计算机的核心CPU承担了所有计算任务。一个CPU在某一时刻只能处理一个任务。
1、概念
从计算机硬件角度:
计算机的核心是CPU,承担了所有的计算任务。
一个CPU,在一个时间切片里只能运行一个程序。
图1. 操作系统1.1 进程
进程:是CPU对程序的一次执行过程、一次执行任务。各个进程有自己的内存空间、数据栈等。操作系统分配内存的基本单位(打开、执行、保存…)
1.2 线程
线程:是进程中执行运算的最小单位,是进程中的一个实体。(打开、执行、保存…)
一个程序至少有一个进程,一个进程至少有一个线程。
操作系统分配CPU的基本单位
1.3 协程
协程:比线程更小的执行单元,又称微线程,在单线程上执行多个任务,自带CPU上下文
用函数切换,开销极小。不通过操作系统调度,
没有进程、线程的切换开销。(gevent,monkey.patchall)
举例
我们假设把一个进程比作我们实际生活中的一个拉面馆,负责保持拉面馆运行的服务员就是线程,每个餐桌代表要完成的任务。
本文共计10941个文字,预计阅读时间需要44分钟。
1、概念【注意】公众微信号轻松学编程了解更多。回复协议获取获取本文字源代码。从计算机硬件角度:计算机的核心CPU承担了所有计算任务。一个CPU在某一时刻只能处理一个任务。
1、概念
从计算机硬件角度:
计算机的核心是CPU,承担了所有的计算任务。
一个CPU,在一个时间切片里只能运行一个程序。
图1. 操作系统1.1 进程
进程:是CPU对程序的一次执行过程、一次执行任务。各个进程有自己的内存空间、数据栈等。操作系统分配内存的基本单位(打开、执行、保存…)
1.2 线程
线程:是进程中执行运算的最小单位,是进程中的一个实体。(打开、执行、保存…)
一个程序至少有一个进程,一个进程至少有一个线程。
操作系统分配CPU的基本单位
1.3 协程
协程:比线程更小的执行单元,又称微线程,在单线程上执行多个任务,自带CPU上下文
用函数切换,开销极小。不通过操作系统调度,
没有进程、线程的切换开销。(gevent,monkey.patchall)
举例
我们假设把一个进程比作我们实际生活中的一个拉面馆,负责保持拉面馆运行的服务员就是线程,每个餐桌代表要完成的任务。

