python之进程和线程的对比
python之进程和线程的对比
1. 进程和线程的对比的三个方向
- 关系对比
- 区别对比
- 优缺点对比
2. 关系对比
- 线程是依附在进程里面的,没有进程就没有线程。
- 一个进程默认提供一条线程,进程可以创建多个线程。
2. 区别对比
进程之间不共享全局变量
线程之间共享全局变量,但是要注意资源竞争的问题,解决办法: 互斥锁或者线程同步
创建进程的资源开销要比创建线程的资源开销要大
进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位
线程不能够独立执行,必须依存在进程中
多进程开发比单进程多线程开发稳定性要强
3. 优缺点对比
- 进程优缺点:
- 优点:可以用多核
- 缺点:资源开销大 【和计算密集型的相关操作使用多进程】
- 线程优缺点:
- 优点:资源开销小
- 缺点:不能使用多核 【文件写入、文件的下载、i/o操作】
4. 小结
- 进程和线程都是完成多任务的一种方式
- 多进程要比多线程消耗的资源多,但是多进程开发比单进程多线程开发稳定性要强,某个进程挂掉不会影响其它进程。
- 多进程可以使用cpu的多核运行,多线程可以共享全局变量。
- 线程不能单独执行必须依附在进程里面
python之进程和线程的对比相关推荐
- Python【进程和线程】保姆式教学,1个台机子多只手干活的秘籍
进程线程有多重要?刚开始学Python的时候你可能还没有感觉到,因为你写的代码从上到下执行一遍就可以了,但实际上这很初级,实际开发写项目的时候,为了充分利用电脑配置来加快程序进度,我们往往会用到多进程 ...
- Python创建进程、线程的两种方式
代码创建进程和线程的两种方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. ...
- python提高——进程、线程、协程对比及代码实现
目录 1多任务 1.1并发 1.2并行 2线程 2.1引入线程 2.2线程进行顺序 2.3线程封装 2.4多线程-共享全局变量 2.5资源竞争 2.6互斥锁 2.7死锁 3进程 3.1进程创建 3.2 ...
- Python高级系列教程:Python的进程和线程
学习目标 1.了解多任务的概念 2.了解进程的概念以及多进程的作用 3.掌握多进程完成多任务的工作原理及案例编写 4.掌握进程编号的获取方式以及进程使用的注意事项 5.了解线程的概念以及多线程的作用 ...
- python之进程和线程2
1 GIL全局解释器锁定义 定义:在一个线程拥有了解释器的访问权后,其他的所有线程都必须等待他释放解释器的访问权,即这些线程的下一条指令并不会互相影响. 缺点:多处理器退化为单处理器 优点:避免大量 ...
- 二十二、 深入Python的进程和线程(上篇)
@Author: Runsen 进程(Process)和线程(Thread)都是操作系统中的基本概念,它们之间有一些优劣和差异,那么在Python中如何使用进程和线程? 文章目录 CPU 进程 线程 ...
- 《Python》进程收尾线程初识
一.数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍,并且在原有的multiprocessing基础上增加了新的机 ...
- python的进程和线程_Python进程与线程知识
Python进程与线程知识,Python开发语言现在已经是被大家非常看中的编程语言了,本篇文章给读者们分享一下Python进程与线程知识小结,本篇文章具有一定的参考借鉴价值,感兴趣的小伙伴来了解一下吧 ...
- python的进程和线程定位_Python | 进程 线程的理解拾遗
进程和线程的理解 线程是操作系统能够进行预算调度的最小单位,它包含在进程中是进程中的实际运作单位. Linux 进程有父进程和子进程,window 系统的进程是平等关系 一个标准的线程有线程 ID , ...
最新文章
- Spring-基于注解的配置[01定义Bean+扫描Bean]
- pixhawk博客导读
- C#-获取某变量类型的默认值
- 如何衡量两个词的相关度
- php sem acquire,PHP | 关于php中sem_get failed for key no space left on device问题的解决方案...
- Google Pixel 解锁BL、刷入Twrp、magisk Root、安装 Xposed
- 使用pytorch查看中间层特征矩阵以及卷积核参数
- mysql 查询视图是否存在_sql server判断数据库、表、列、视图是否存在
- Spring MVC DispatcherServlet改造为 CSE RestServlet 常见问题汇编
- 苹果A14芯片GeekBench跑分曝光:单核1583分 多核4198分
- Windows 8 下使用 ScrollViewer 替代 GridView
- 海外侨胞代表建议广东各市抱团出海开设名优特产品实体店
- 为什么不建议在外包公司长期工作及外包公司的简历怎么写
- 新能源车牌识别系统的设计与实现
- 深度学习笔记第一门课第三周:浅层神经网络
- jQuery实现 手风琴图片切换效果( 超简单)
- CodeLite 16.0可以编译通过,但是在编辑器界面会显示找不到标准库头文件
- 四大垃圾回收算法七大垃圾回收器
- [xueqi]吃着榨菜,轻松搞下漏洞百出的湾湾站
- 八大排序 - (详解)
热门文章
- 码农新机会!2019-2020行业调查报告出炉,这个领域程序员缺口很大!
- 来了来了!趋势预测算法大PK!
- 被追捧为“圣杯”的深度强化学习已走进死胡同
- 上手!深度学习最常见的26个模型练习项目汇总
- NLP实践:对话系统技术原理和应用
- 比特大陆发力边缘计算,详解终端AI芯片BM1880
- AI产品经理的定义和分类
- Uber无人车撞人视频公布,究竟哪儿出问题了?
- AI 一分钟 | 微软推出全新人工智能平台;多名用户反映亚马逊 Echo 智能音箱突然发笑
- 重磅 | 机器学习大神Bengio最新论文发布,专注RNN优化难题,将在NIPS提出新概念fraternal dropout