python中线程和进程有何区别


Posted in Python onJune 17, 2020

引入进程和线程的概念及区别

threading模块提供的类:  

Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local。

1.什么是进程

计算机程序只不过是磁盘中可执行的二进制(或其他类型)的数据。它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命期。

进程(有时被称为重量级进程)是程序的一次执行。每个进程都有自己的地址空间、内存、数据栈及其它记录其运行轨迹的辅助数据。

操作系统管理在其上运行的所有进程,并为这些进程公平的分配时间,进程也可以通过fork和spawn操作来完成其它的任务。

不过各个进程有自己的内存空间、数据栈等,所以只能使用进程间通讯,而不能直接共享信息。

2.线程的基本概念

线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。

 3、线程和进程的关系以及区别?

进程和线程的关系:

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。

(3)处理机分给线程,即真正在处理机上运行的是线程

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体.

进程与线程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

知识点补充:

  • 进程是资源分配的单位
  • 线程是操作系统调度的单位
  • 协程,又称微线程,纤程,协程的切换只是单纯的操作CPU的上下文,资源很小,效率高
  • 进程切换需要的资源很最大,效率很低
  • 一个程序至少有一个进程,一个进程至少有一个线程
  • 线程执行开销小,但不利于资源的管理和保护;而进程正相反

到此这篇关于python中线程和进程有何区别的文章就介绍到这了,更多相关python中线程和进程的区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
python修改操作系统时间的方法
May 18 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
python实现名片管理系统
Nov 29 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
Django模板获取field的verbose_name实例
May 19 Python
Python自省及反射原理实例详解
Jul 06 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
5款实用的python 工具推荐
Oct 13 Python
使用Keras中的ImageDataGenerator进行批次读图方式
Jun 17 #Python
python里的单引号和双引号的有什么作用
Jun 17 #Python
没编程基础可以学python吗
Jun 17 #Python
keras实现图像预处理并生成一个generator的案例
Jun 17 #Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 #Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
Jun 17 #Python
Keras之fit_generator与train_on_batch用法
Jun 17 #Python
You might like
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
PHP文件操作方法汇总
2015/07/01 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
python实现多张图片拼接成大图
2019/01/15 Python
解决Python3下map函数的显示问题
2019/12/04 Python
python中spy++的使用超详细教程
2021/01/29 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
写给保洁员表扬信
2014/01/08 职场文书
物业工作计划书
2014/01/10 职场文书
消防安全管理制度
2014/02/01 职场文书
学生自我评价范文
2014/02/02 职场文书
护理专科自荐书范文
2014/02/18 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
社团活动总结报告
2014/06/27 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书