详解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,多任务,进程
0
投稿
猜你喜欢
Python面向对象程序设计之类的定义与继承简单示例
2022-03-24 03:00:16
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2022-06-11 15:58:50
python实现excel和csv中的vlookup函数示例代码
2021-05-06 07:22:48
如何Restore数据库备份文件?
2009-11-02 20:20:00
小议sqlserver数据库主键选取策略
2011-10-24 19:51:30
python 中文编码乱码问题的解决
2021-03-06 16:43:58
asp如何远程注册DLL
2010-06-16 09:58:00
Oracle数据库的十种重新启动步骤
2012-07-21 14:58:25
Python3接口性能测试实例代码
2021-02-16 14:24:18
关于Javascript闭包与应用的详解
2024-04-23 09:09:28
Python利用numpy实现三层神经网络的示例代码
2021-07-29 22:04:46
pandas修改DataFrame列名的方法
2021-07-18 16:41:24
教你用Python创建微信聊天机器人
2021-10-06 21:50:14
Python日期时间对象转换为字符串的实例
2022-05-24 14:51:29
跟老齐学Python之变量和参数
2023-01-12 22:23:31
openCV中值滤波和均值滤波的代码实现
2023-07-22 06:08:28
Python机器学习之基础概述
2021-07-18 19:07:59
将各种类型或对象都转变为数组
2009-12-28 13:19:00
CSS设计之如何让数字字母自动换行
2007-10-19 15:12:00
JavaScript中两个字符串的匹配
2023-08-08 00:46:01