沐风2021-并发总结

[复制链接]
作者: ecithy | 时间: 2021-5-31 21:38:36 | python基础|
0 70
发表于 2021-5-31 21:38:36| 显示全部楼层 |阅读模式

协程、线程、进程的区别

线程,是计算机中可以被cpu调度的最小单元。 进程,是计算机资源分配的最小单元(进程为线程提供资源)。 一个进程中可以有多个线程,同一个进程中的线程可以共享此进程中的资源。

由于CPython中GIL的存在:

  • 线程,适用于IO密集型操作。
  • 进程,适用于计算密集型操作。

协程,协程也可以被称为微线程,是一种用户态内的上下文切换技术,在开发中结合遇到IO自动切换,就可以通过一个线程实现并发操作。

所以,在处理IO操作时,协程比线程更加节省开销。

如何选择

1.协程也叫异步,一般情况下,我们不使用协程,因为协程的开发难度大。

关于协程,目前先了解这些概念即可,等学了Web框架和爬虫等知识具备一定经验后,再来学习和补充效果更佳。

2.一般情况下,使用多线程比较多一些

现在很多Python中的框架都在支持协程,比如:Django 3、FastAPI、Tornado、aiohttp等。

但是异步开发由于开发难度大和异步技术还在发展的原因,目前市场占有率不高。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

!jz_fbzt! 快速回复 !jz_sctz! !jz_fhlb! 按钮
快速回复 返回列表 返回顶部