详解Python的多任务进程
作者:小Pawn爷 时间:2021-08-20 19:12:48
1.基本概念
定义 | 含义 |
---|---|
并发: | concurrency,同一时刻只能有一条指令执行,但是多个线程的对应的指令被快速轮换地执行 |
并行 | parallel,同一时刻,有多条指令在多个处理器上同时执行,并行必须要依赖于多个处理器 |
阻塞 | 程序未得到所需计算资源时被挂起的状态 |
非阻塞 | 程序在等待某操作过程中,自身不被阻塞,可以继续处理其他的事情 |
同步 | 不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,我们称这些程序单元是同步执行的 |
异步 | 为完成某个任务,不同程序单元之间过程中无需通信协调,也能完成任务的方式,不相关的程序单元之间可以是异步的 |
2.线程和进程比较
名称 | 含义 | 应用场景 |
---|---|---|
多线程 | 系统进行运算调度的最小单位 | IO密集型(磁盘IO ,网络IO ,数据库IO 等,譬如爬虫,网站开发等) |
多进程 | 系统进行资源分配的最小单位 | CPU密集型(大数据分析,机器学习等) |
多协程 | 程序员级别的调度 | 高并发的场景 |
3.协程和线程的比较
多线程:
多个线程切换需要频繁的加锁解锁,
需要保存或者恢复cpu上下文,
每个线程还需要有缓存cache等数据
多协程:
协程的切换是在单线程里实现任务的切换
且协程拥有自己的寄存器上下文和栈,无需线程上下文切换的开销
无需原子操作锁定及同步的开销
来源:https://blog.csdn.net/weixin_44689630/article/details/122530757
标签:Python,多任务,进程
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
asp检测是否为中文字符函数
2011-04-07 11:19:00
什么是XSLT,什么是XPath
2008-01-21 13:12:00
Tensorflow: 从checkpoint文件中读取tensor方式
2022-07-20 11:39:29
php指定长度分割字符串str_split函数用法示例
2023-07-08 23:25:51
SQL Server数据库备份多种方法
2008-11-24 15:27:00
举例讲解Python中的list列表数据结构用法
2021-05-07 08:02:53
对于Python装饰器使用的一些建议
2022-05-26 09:05:43
python爬虫要用到的库总结
2021-04-16 23:55:40
解决jupyter (python3) 读取文件遇到的问题
2021-02-05 10:00:25
如何显示数据库里的图片?
2010-06-08 09:36:00
python 爬取吉首大学网站成绩单
2023-08-02 05:57:13
![](https://img.aspxhome.com/file/2023/6/61216_0s.png)
Python线程条件变量Condition原理解析
2022-07-23 02:52:06
启动targetcli时遇到错误解决办法
2023-03-20 05:59:43
PyTorch模型转TensorRT是怎么实现的?
2021-09-01 08:14:02
![](https://img.aspxhome.com/file/2023/4/94704_0s.png)
前端也应关注安全
2009-03-16 17:02:00
python计算n的阶乘的方法代码
2023-08-20 07:33:00
Python模块的定义,模块的导入,__name__用法实例分析
2023-07-13 13:11:00
![](https://img.aspxhome.com/file/2023/0/61180_0s.png)
ORACLE数据库查看执行计划的方法
2012-06-06 20:15:52
Python3内置模块之base64编解码方法详解
2021-04-01 15:45:24
![](https://img.aspxhome.com/file/2023/5/77545_0s.jpg)
Django中Aggregation聚合的基本使用方法
2023-09-15 02:38:29