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

线程的基础知识

进程和线程的区别?
从实例去引入我们的进程和线程的概念,说出进程和线程的关系,引出线程,说出两者的内存分配占用,上下文切换的区别
当操作系统把我们磁盘中的程序加载到我们的内存当中,为其分配内存空间,就产生了一个进程,进程可以说是操作系统进行资源分配和管理的基本单位,因为每个进程都有独立的内存空间,所以上下文切换开销较大,而线程可以认为是轻量级别的进程,存在于进程中,与多个线程共享进程内存空间,其中存放的是我们的指令流,上下文切换相较于进程开销更小,只需要切换栈和寄存器等少量信息,线程可以说是操作系统进行任务调度和任务执行的单元

并行和并发有什么区别?
并行就是同一时间,多个任务被同时执行,通常需要多核cpu来实现,每个cpu核心可以独立执行一个或者多个线程。就像我们以边听歌以便写代码
并发就是一段时间内多个任务交替执行,单核cpu也通过时间片轮转机制来实现在不同任务之间切换,在宏观上看着好像他们在同时执行,但是微观上实际上只有一个任务真正占用了cpu资源

相关文章:

  • 8天Python从入门到精通【itheima】-69~70(字符串的常见定义和操作+案例练习)
  • rocketmq延迟消息的底层原理浅析
  • Vue 中组件命名与引用
  • Qt 开发中的父类与父对象的区别和父对象传递:如何选择 `QWidget` 或 `QObject`?
  • python爬虫:grequests的详细使用(基于gevent和requests的异步HTTP请求库)
  • 009-libb64 迅速上手 libb64 -C++开源库108杰
  • 欧拉公式简明推导
  • 如何通过ETLCloud实现跨系统数据同步?
  • 【持续更新】c++指针相关试题
  • STM32入门教程——OLED调试工具
  • 核心机制:延时应答,捎带应答,面向字节流
  • nginx.conf配置详解:从(413 Request Entity Too Large)说起
  • RPG22.处理武器碰撞
  • Thumb-2指令集及其与STM32的关系
  • [前端]Promsie常见应用场景——网络请求、定时任务、文件操作和并发控制,并以并发请求为详细进行详解
  • python版若依框架开发:前端开发规范
  • Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法
  • 客户体验数据使用的三种视角——场景视角
  • 企业管理中,商业智能BI主要做哪些事情?
  • 【Elasticsearch】 查询优化方式
  • html界面设计工具/seo优化包括
  • 做外贸如何选择网站/网站服务器地址查询
  • 网络优化的内容包括哪些方面/网站推广优化招聘
  • 自己有域名如何做网站/推广方案如何写
  • 网站建设市场/做百度推广的网络公司
  • 蓬莱市住房和规划建设管理局网站/怎么投放广告