Python基础教程系列九:多线程2
2019-10-11 本文已影响0人
奇遇Python
1.进程
进程(Process)是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
进程基本状态如图所示:来源百度百科进程基本状态
- 就绪(Ready)
- 运行(Running)
- 阻塞(Blocked)
2.线程
线程,有时被称为轻量级进程(Lightweight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。
线程声明周期如图所示:来源网络 进程和线程关系如图所示:来源网络通俗理解:
进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ
线程,能够完成多任务,比如 一个QQ中的多个聊天窗口
3.协程
协程(coroutine)是一种程序组件。
4.进程、线程、协程对比
操作系统:来源网络
- 进程是资源分配的单位
- 线程是操作系统调度的单位
- 进程切换需要的资源很最大,效率很低
- 线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下)
- 协程切换任务资源很小,效率高
- 多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发