当前位置: 首页 > news >正文

进程与线程的区别

进程(Process)

1:进程是操作系统分配资源的基本单位

2:每个进程都有自己独立的虚拟地址空间,虚拟地址空间映射真实物理地址

3:进程之间相互隔离,某一个进程的崩溃不会影响到其它进程

4:一个进程可以拥有多个线程

5:进程之间的切换要切换虚拟地址空间(开销最大)

线程(Thread)

1:线程是处理器(CPU)分配的基本单位

2:线程相当于轻量级的进程

3:在同一个进程内,多个线程可以共享进程的内存空间

4:在同一进程内,进行线程间的切换要比进程之间的切换开销要小(只用切换自身私有的资源)

5:线程是进程当中的一条执行流程(用于执行代码)

进程间的通讯方式

匿名管道:用于父子进程之间的通讯

有名管道:会生成一个文件描述符用于进程之间的通讯(任何进程之间都可以进行通讯)

消息队列:使用一个队列来存放消息,进程A将消息存入队列中,进程B只需要从队列中读取出来即可

共享内存:多个进程之间他们使用不同的虚拟内存,但是都映射到同一物理内存上

信号量:设置互斥的资源数为1,要访问这个资源只需要对该资源进行PV操作即可

信号:类似于Linux中的 kill命令,如 kill -9 pid就可以立即杀死某个进程

Socket:用于不同主机之间的通讯

http://www.lryc.cn/news/378975.html

相关文章:

  • 【AI基础】第五步:纯天然保姆喂饭级-安装并运行chatglm3-6b
  • 【学习笔记】Elastic-Job和Quartz 实现企业级定时任务
  • 舒适佩戴,享受沉浸式音乐体验,西圣AVA2耳机体验
  • c++学习-----内存管理
  • 可视化数据科学平台在信贷领域应用系列七:自动机器学习(下篇)
  • OpenGL Super Bible 7th-Primitives, Pipelines, and Pixels图元、渲染管线与像素
  • SpringBoot3.0更新后,IDEA创建SpringBoot2.x项目
  • Linux开发讲课8--- linux的5种IO模型
  • 什么是云主机?
  • 力扣上的经典问题:接雨水
  • 双例集合(二)——双例集合的实现类之HashMap容器类
  • oracle-定时器(job)
  • cron.timezone
  • Hadoop+Spark大数据技术(测试)
  • 使用新语法连接Qt 5中重载的信号和槽
  • 梯度提升决策树(GBDT)的训练过程
  • 路由器的Wi-Fi性能是否限制了你的网速?这里有你想要的答案
  • 简站WordPress是最简洁好用易上手的wordpress企业建站主题
  • 阿里云 debian10.3 sudo apt-get updat 报错的解决方案
  • vite中使用scss技巧
  • PyQt5/Pyside2学习记录
  • 记一次通过脚本来实现自定义容器的自动重启
  • 基于Django、Bootstrap的电影推荐系统,算法基于用户的协同过滤算法,有爬虫有可视化后台
  • mysql、mariadb 登录主机的含义,如何修改登录主机,如何删除登录主机
  • c++ 设计模式 的课本范例
  • QT中绘制点阵
  • 机器人里程计(Odometry)
  • 后端实现预览pdf,mp4,图片
  • 【C++】数据类型、函数、头文件、断点调试、输入输出、条件与分支、VS项目设置
  • Spring框架的原理及应用详解(六)