进程 线程 协程之间区别

40 阅读1分钟

进程 线程 协程之间区别

粒度上来说...三者之间是不同的概念

举例:

进程:餐厅

线程:餐厅中的服务员,厨师等

协程:服务员在处理点菜请求,也可以处理上菜请求(同一个人处理多个请求)

进程是一个正在运行的程序,它可以包含多个线程,每个线程可以执行不同的任务。 在餐厅的例子中,餐厅就是一个进程,它包含多个线程,比如服务员、厨师等等,每个线程负责不同的任务。

线程是进程中的一个执行流,它可以与其他线程共享同一进程的资源,比如内存、文件等等。在餐厅的例子中, 服务员就是一个线程,它可以与其他线程共享餐厅的资源,比如餐厅的菜单、厨房的菜品等等。

协程是一种轻量级的线程,它可以在同一个线程中实现多个任务之间的切换。 在餐厅的例子中,服务员处理顾客的点餐请求和上菜请求等等,就可以看做是协程, 因为它们都是在同一个线程中执行的,通过协程的方式可以实现它们之间的切换。