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

多线程基础1

基于进程而来的多线程解决了进程的一些问题,它能够节省频繁创建和销毁进程带来的资源消耗。进程是资源分配的基本单位。而线程则是资源调度的基本单位。一个进程可以包含多个线程。它们是如何做到节省的呢?:在原来,只有一个进程的时候,当执行完一个任务后,进程就会销毁,而要执行新的任务时就要重新创建。而有线程之后,进程就负责创建一个进程,然后再进行资源分配,线程则负责进行调度执行,这样任务结束后,就不必要销毁进程,而是销毁对应线程,再次创建线程时也不必要再次创建新的进程,(进程会在创建的时候加载所需数据和指令,后来创建的线程则是调用这些)节省了不小的开支。

同一个进程中的线程可能会对其他线程造成影响,其中一个出现异常,(就可能导致其中的内存空间,文件描述符受影响,而进程中的这些是共享的,不同的进程之间这些资源则相互独立)就可能影响到其他的线程,从而导致进程异常终止

下面是总结:

1:进程是包含线程的,进程是资源分配的基本单位,线程是调度执行的基本单位。

2:每个线程是一个独立的执行流,并且单独的参与到cpu调度中(状态,上下文,记账信息,每个都有自己一份)。

3:每个进程,有自己的资源,进程中的线程共用这一份资源(内存空间和文件描述符)。

4:进程和进程之间不会相互影响和,如果一个进程的某个线程,抛出异常,可能会影响到其他线程,从而使进程中的其他线程都异常终止。

5:同一个进程的线程之间可能会互相干扰,引起线程安全问题。

6:线程并不是越多越好,要能合适,如果太多,调度开销就很明显。

http://www.cnnetsun.cn/news/53596.html

相关文章:

  • 音视频学习(七十二):视频压缩:分块与预处理
  • AMD Ryzen性能调优:快速掌握处理器调试工具的使用技巧
  • 深蓝词库转换:轻松打通全平台输入法数据壁垒
  • (新卷,200分)- 最小传输时延Ⅱ(Java JS Python)
  • OpenHarmony AI人脸识别与手势控制系统开发指南
  • 新一代空间感知驱动的军工仓库与硐室透明化管控技术研究
  • Sketch MeaXure插件:设计师必备的智能标注工具
  • 强化学习Q-learning求最优策略
  • 你对电脑上的【Fn】熟悉多少
  • 计及N-k安全约束的含光热电站电力系统优化调度模型【IEEE14节点、118节点】附Matlab代码
  • 计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置附Matlab代码
  • conda使用详细指南
  • 豆包与DeepSeek底层大模型的深度解析:技术架构、设计理念与生态分野
  • Linux系统中的socket激活:先创建监听端口,后启动程序
  • 从零解决pyproject.toml构建失败的实战指南
  • Redis Lua脚本入门:从零写出你的第一个原子操作
  • 旧机转手不再慌!电子产品信息清除新国标落地,核心技术逻辑全解析
  • 安全体验馆好用供应商
  • 第二章——数据分析场景之Python数据可视化:用Matplotlib与Seaborn绘制洞察之图
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生离校管理系统小程序设计与实现(丰富项目+远程调试+讲解+定制)
  • 如何用AI工具jstat优化Java应用性能分析
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生信息管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Day 38 GPU训练及类的call方法
  • 【Python实战】火爆全网的“隔空手势画板”是如何实现的?教你用OpenCV+MediaPipe复刻钢铁侠黑科技!
  • 【学习笔记】如果打造可复现、可评测、可迭代的AI技术体系
  • 【论文自动阅读】See Once, Then Act: Vision-Language-Action Model with Task Learning from One-Shot Video Demo
  • 利用齐次坐标系证明各种几何定理【射影几何】
  • 小程序基于springboot的乡镇普法知识科普宣传系统 律师预约系统设计与实现_qf4cwws6(java毕业设计项目源码)
  • 面向对象编程三大特性:封装、继承、多态的核心要义
  • leetcode 2147. 分隔长廊的方案数 困难