Python基础教程系列九:多线程2

2019-10-11  本文已影响0人  奇遇Python

1.进程

进程(Process)是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。

进程基本状态

  • 就绪(Ready)
  • 运行(Running)
  • 阻塞(Blocked)
进程基本状态如图所示:来源百度百科

2.线程

线程,有时被称为轻量级进程(Lightweight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。

通俗理解:
进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ
线程,能够完成多任务,比如 一个QQ中的多个聊天窗口

线程声明周期如图所示:来源网络 进程和线程关系如图所示:来源网络

3.协程

协程(coroutine)是一种程序组件。

4.进程、线程、协程对比

操作系统:来源网络
  • 进程是资源分配的单位
  • 线程是操作系统调度的单位
  • 进程切换需要的资源很最大,效率很低
  • 线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下)
  • 协程切换任务资源很小,效率高
  • 多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发
上一篇下一篇

猜你喜欢

热点阅读