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

并发和并行

目录

1.并发

2.并行

3.二者关系

4.总结


1.并发

        并发:CPU的一个内核,一次只能运行一个线程,但是切换速度很快,给人一种同时运行四个线程的假象,这就叫“并发”。说白了,并发是“假同时”。 

        单核CPU下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,将CPU的时间片(windows系统,时间片最小约为15毫秒,而人类感知的最小时间约为100毫秒,换句话说,人类根本感觉不到CPU切换线程的动作)分给不同的线程使用,只是由于CPU在线程间的切换速度非常快,人类感觉是同时运行的。

        一般将这种线程轮流使用一个CPU的做法称为并发(concurrent)

2.并行

        有的CPU有多个内核,那同时就可以运行多个线程,这就叫并行(parallel)。说白了,并行是真同时。

3.二者关系

        并行和并发是相互配合的关系。

        举例:如下图,我的CPU有两个内核,那么说明同一时刻,允许两个线程上机运行,这就是并行;并且每一个内核,又在快速切换不同的线程上机运行,这就是并发。

        并行和并发共同协作,可以提升CPU的线程执行效率。

4.总结

  • 并发:不同线程轮流上CPU内核,只是切换速度很快,给人一种多个线程同时执行的假象,是假同时。(说白了,并发依赖于CPU切换线程的速度

  • 并行:CPU有多个内核,可以同时执行好几个线程,是真同时。(说白了,并行依赖于CPU的内核数) 

以上就是并发和并行的概念,喜欢本篇文章的话,可以留个免费的关注呦~~

http://www.dtcms.com/a/239251.html

相关文章:

  • 操作系统期末版
  • 大模型在蛛网膜下腔出血预测与诊疗方案制定中的应用研究
  • 重复文件管理 一键清理重复 图片 文档 免费 超轻量无广告
  • 在网络排错中,经常会用到的操作命令和其作用
  • 【OpenCV】使用opencv找哈士奇的脸
  • RabbitMQ 各类交换机
  • 从一次日期格式踩坑经历,谈谈接口设计中的“约定大于配置“
  • Razor编程中@符号的全面解析与深度应用指南
  • JavaScript 自定义对象详解
  • Java多线程从入门到精通
  • 【JavaSE】绘图与事件入门学习笔记
  • 【会员专享数据】2017-2024年我国分省的10米精度土地覆盖数据
  • Boost ASIO 库深入学习(2)
  • 【时时三省】(C语言基础)局部变量和全局变量例题
  • 【51单片机】3. 数码管大师
  • 【CUDA 】核函数性能分析工具
  • PLC入门【2】PLC的接线
  • 系统模块与功能设计框架
  • 【Java学习笔记】System类
  • Linux下的进程调度机制
  • 深入理解 Java 的反射、注解与动态代理
  • 2025新高考二卷选择题第一题题解
  • LangChain4j 1.x 核心源码剖析-基础篇
  • 【项目实训项目博客】用户使用手册
  • Secs/Gem第十二讲(基于secs4net项目的ChatGpt介绍)
  • 【第四十八周】HippoRAG 2 复现与分析(二):索引阶段代码分析
  • 嵌入式学习笔记 - freeRTOS为什么中断中不能使用互斥量
  • 使用自定义模板的方式批量切割图片。
  • 从零开始编写Mcp Server,发布上线,超简单极速入门
  • Amazon RDS on AWS Outposts:解锁本地化云数据库的混合云新体验