千家信息网

Python中线程与进程的概念

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容介绍了"Python中线程与进程的概念"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!进程的基
千家信息网最后更新 2024年11月26日Python中线程与进程的概念

本篇内容介绍了"Python中线程与进程的概念"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

进程的基本概念

概念
进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。

线程的基本概念

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

好处

  • 易于调度。

  • 提高并发性,通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。

  • 开销少,创建线程比创建进程要快,所需开销很少

进程的基本状态及状态之间的关系
状态:运行、阻塞、挂起阻塞、就绪、挂起就绪

状态之间的转换:

  1. 准备就绪的进程,被CPU调度执行,变成运行态;

  2. 运行中的进程,进行I/O请求或者不能得到所请求的资源,变成阻塞态;

  3. 运行中的进程,进程执行完毕(或时间片已到),变成就绪态;

  4. 将阻塞态的进程挂起,变成挂起阻塞态,当导致进程阻塞的I/O操作在用户重启进程前完成(称之为唤醒),挂起阻塞态变成挂起就绪态,当用户在I/O操作结束之前重启进程,挂起阻塞态变成阻塞态;

  5. 将就绪(或运行)中的进程挂起,变成挂起就绪态,当该进程恢复之后,挂起就绪态变成就绪态;

进程和线程的关系:

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

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

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

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

进程与线程的区别:

  • 运行方式不同

  • 进程不能单独执行,它只是资源的集合。

  • 进程要操作CPU,必须要先创建一个线程。

  • 所有在同一个进程里的线程,是同享同一块进程所占的内存空间。

  • 关系

  • 进程中第一个线程是主线程,主线程可以创建其他线程;其他线程也可以创建线程;线程之间是平等的。

  • 进程有父进程和子进程,独立的内存空间,唯一的标识符:pid。

  • 速度

  • 启动线程比启动进程快

  • 运行线程和运行进程速度上是一样的,没有可比性

  • 线程共享内存空间,进程的内存是独立的。

  • 创建

  • 父进程生成子进程,相当于复制一份内存空间,进程之间不能直接访问

  • 创建新线程很简单,创建新进程需要对父进程进行一次复制

  • 一个线程可以控制和操作同级线程里的其他线程,但是进程只能操作子进程。

  • 交互

  • 同一个进程里的线程之间可以直接访问。

  • 两个进程想通信必须通过一个中间代理来实现。

  • 调度

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

  • 并发性

  • 不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

  • 拥有资源:

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

  • 系统开销:

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

"Python中线程与进程的概念"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

进程 线程 资源 运行 阻塞 之间 系统 概念 调度 内存 单位 开销 程序 过程 多个 状态 空间 控制 独立 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 工业网络技术女的学好吗 行数据库与列数据库 晋商银行软件开发考试题目 信息化与网络安全试题 北京hp服务器回收门店虚拟主机 利用现代网络技术开展线上教学 宜宾棋牌app软件开发6 网络安全检查工具破解版 2018网络技术 网络技术人员是程序员吗 网络安全法六十四条第二款 军营网络安全宣传周学习途径 文科能报网络安全专业吗 apex为啥连不上服务器 杉果怎么显示服务器错误 专车平台软件开发 内网网络安全宣传视频 河南正规软件开发价位 方舟生存进化专用服务器是啥意思 服务器限制网速 工业网络技术女的学好吗 长宁区第三方软件开发费用是多少 高科技大学互联网 深圳威隆网络技术有限公司 浙江专业型网络技术怎么样 连云港多点控制视频系统服务器 数据库工程师考试大纲 西安科天网络技术有限公司 安全是服务器地址 公安网络安全工作规范
0