进程、线程和协程

1. 进程与线程

对于操作系统来说,线程是最小的执行单元,进程是最小的资源管理单元

一个进程包含三个部分:代码、数据资源和独立内存空间。

线程是任务的实际执行者,一个进程至少拥有一个主线程。

无论是进程还是线程,都由操作系统控制,当多线程在不同CPU进行切换时消耗时间长,协程的出现就是为了解决这个问题。

2.协程

协程是一种用户态的轻量级线程,一个线程可以拥有多个协程。

以 Python 为例介绍协程的概念。

Python是以 yield 关键字来实现协程,当函数体中遇到 yield 关键字,函数停止运行,直到调用 next() 方法函数才会继续执行。

从上面的过程中可以看到,协程的执行是由用户来控制的,可以避免CPU的切换,程序运行高效。


你可能感兴趣的:(进程、线程和协程)