python之进程和线程的对比


1. 进程和线程的对比的三个方向

  1. 关系对比
  2. 区别对比
  3. 优缺点对比

2. 关系对比

  1. 线程是依附在进程里面的,没有进程就没有线程。
  2. 一个进程默认提供一条线程,进程可以创建多个线程。

2. 区别对比

  1. 进程之间不共享全局变量

  2. 线程之间共享全局变量,但是要注意资源竞争的问题,解决办法: 互斥锁或者线程同步

  3. 创建进程的资源开销要比创建线程的资源开销要大

  4. 进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位

  5. 线程不能够独立执行,必须依存在进程中

  6. 多进程开发比单进程多线程开发稳定性要强

3. 优缺点对比

  • 进程优缺点:

    • 优点:可以用多核
    • 缺点:资源开销大     【和计算密集型的相关操作使用多进程】
  • 线程优缺点:
    • 优点:资源开销小
    • 缺点:不能使用多核    【文件写入、文件的下载、i/o操作】

4. 小结

  • 进程和线程都是完成多任务的一种方式
  • 多进程要比多线程消耗的资源多,但是多进程开发比单进程多线程开发稳定性要强,某个进程挂掉不会影响其它进程。
  • 多进程可以使用cpu的多核运行,多线程可以共享全局变量。
  • 线程不能单独执行必须依附在进程里面

python之进程和线程的对比相关推荐

  1. Python【进程和线程】保姆式教学,1个台机子多只手干活的秘籍

    进程线程有多重要?刚开始学Python的时候你可能还没有感觉到,因为你写的代码从上到下执行一遍就可以了,但实际上这很初级,实际开发写项目的时候,为了充分利用电脑配置来加快程序进度,我们往往会用到多进程 ...

  2. Python创建进程、线程的两种方式

    代码创建进程和线程的两种方式 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. ...

  3. 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 ...

  4. Python高级系列教程:Python的进程和线程

    学习目标 1.了解多任务的概念 2.了解进程的概念以及多进程的作用 3.掌握多进程完成多任务的工作原理及案例编写 4.掌握进程编号的获取方式以及进程使用的注意事项 5.了解线程的概念以及多线程的作用 ...

  5. python之进程和线程2

    1  GIL全局解释器锁定义 定义:在一个线程拥有了解释器的访问权后,其他的所有线程都必须等待他释放解释器的访问权,即这些线程的下一条指令并不会互相影响. 缺点:多处理器退化为单处理器 优点:避免大量 ...

  6. 二十二、 深入Python的进程和线程(上篇)

    @Author: Runsen 进程(Process)和线程(Thread)都是操作系统中的基本概念,它们之间有一些优劣和差异,那么在Python中如何使用进程和线程? 文章目录 CPU 进程 线程 ...

  7. 《Python》进程收尾线程初识

    一.数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍,并且在原有的multiprocessing基础上增加了新的机 ...

  8. python的进程和线程_Python进程与线程知识

    Python进程与线程知识,Python开发语言现在已经是被大家非常看中的编程语言了,本篇文章给读者们分享一下Python进程与线程知识小结,本篇文章具有一定的参考借鉴价值,感兴趣的小伙伴来了解一下吧 ...

  9. python的进程和线程定位_Python | 进程 线程的理解拾遗

    进程和线程的理解 线程是操作系统能够进行预算调度的最小单位,它包含在进程中是进程中的实际运作单位. Linux 进程有父进程和子进程,window 系统的进程是平等关系 一个标准的线程有线程 ID , ...

最新文章

  1. Spring-基于注解的配置[01定义Bean+扫描Bean]
  2. pixhawk博客导读
  3. C#-获取某变量类型的默认值
  4. 如何衡量两个词的相关度
  5. php sem acquire,PHP | 关于php中sem_get failed for key no space left on device问题的解决方案...
  6. Google Pixel 解锁BL、刷入Twrp、magisk Root、安装 Xposed
  7. 使用pytorch查看中间层特征矩阵以及卷积核参数
  8. mysql 查询视图是否存在_sql server判断数据库、表、列、视图是否存在
  9. Spring MVC DispatcherServlet改造为 CSE RestServlet 常见问题汇编
  10. 苹果A14芯片GeekBench跑分曝光:单核1583分 多核4198分
  11. Windows 8 下使用 ScrollViewer 替代 GridView
  12. 海外侨胞代表建议广东各市抱团出海开设名优特产品实体店
  13. 为什么不建议在外包公司长期工作及外包公司的简历怎么写
  14. 新能源车牌识别系统的设计与实现
  15. 深度学习笔记第一门课第三周:浅层神经网络
  16. jQuery实现 手风琴图片切换效果( 超简单)
  17. CodeLite 16.0可以编译通过,但是在编辑器界面会显示找不到标准库头文件
  18. 四大垃圾回收算法七大垃圾回收器
  19. [xueqi]吃着榨菜,轻松搞下漏洞百出的湾湾站
  20. 八大排序 - (详解)

热门文章

  1. 码农新机会!2019-2020行业调查报告出炉,这个领域程序员缺口很大!
  2. 来了来了!趋势预测算法大PK!
  3. 被追捧为“圣杯”的深度强化学习已走进死胡同
  4. 上手!深度学习最常见的26个模型练习项目汇总
  5. NLP实践:对话系统技术原理和应用
  6. 比特大陆发力边缘计算,详解终端AI芯片BM1880
  7. AI产品经理的定义和分类
  8. Uber无人车撞人视频公布,究竟哪儿出问题了?
  9. AI 一分钟 | 微软推出全新人工智能平台;多名用户反映亚马逊 Echo 智能音箱突然发笑
  10. 重磅 | 机器学习大神Bengio最新论文发布,专注RNN优化难题,将在NIPS提出新概念fraternal dropout