单核多线程与多核多线程
单核多线程与多核多线程
或许有些同学对于单核多线程和多核多线程有点误区,因为会听到一些同学问为什么单核能处理多线程,总结了一些干货,下面会通俗说明下。
线程和进程是什么
- 线程是CPU调度和分配的基本单位(可以理解为CPU只能看到线程)
- 进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位
单核多线程
单核多线程指的是单核CPU轮流执行多个线程,通过给每个线程分配CPU时间片来实现,只是因为这个时间片非常短(几十毫秒),所以在用户角度上感觉是多个线程同时执行。
多线程上下文切换
在这里也引出多线程上下文切换,也就是CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。并且在切换前会保存上一个任务的状态,当切换回上一个任务时可以继续加载该任务的状态,从任务保存到再加载的过程就是一次上下文切换。
例如:我们在看网上大牛的博客笔记的时候,看到别人引用到自己不知道的技术的时候,我们往往会先去大概了解下这个技术到底是什么,能做什么等等,但是在这之前我们需要加个标签(或者其他标识)记住这篇博客我看到哪里。把这个技术了解完之后再返回去看这篇博客,从标记的地方继续往下看(这就是上下文切换的例子)。不过在看到一半然后去看别的文章,会影响到效率,多线程也一样,会影响到多线程执行速度。
多核多线程
多核多线程,可以把多线程分配给不同的核心处理,其他的线程依旧等待,相当于多个线程并行的在执行,而单核多线程只能是并发。
- 单CPU中进程只能是并发,多CPU计算机中进程可以并行。
- 单CPU单核中线程只能并发,单CPU多核中线程可以并行。
- 无论是并发还是并行,使用者来看,看到的是多进程,多线程。
单核多线程与多核多线程相关推荐
- amd同步多线程_多核多线程,Intel 和 AMD 具体差在哪里?
CPU的多核多线程,如果不考虑至强的话,那么目前是AMD更强,MSDT强于Intel,HEDT一样也还是强于Intel.其实EPYC也一样可以强于至强,只是至强可以四路甚至八路,而EPYC应该只能两路 ...
- 多线程与单核cpu,多核cpu概念
1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢) 多个cpu的话就可以在两个cpu中同时执 ...
- 对多线程程序,单核cpu与多核cpu如何工作相关的探讨
对多线程程序,单核cpu与多核cpu如何工作相关的探讨 我们程序员在编码的时候,涉及到技术方案时,往往会忽略掉代码对性能方面的影响,或者没有足够的敏感度来帮助自己判断自己的技术方案对系统性能造成的影响 ...
- 测试单核cpu和多核cpu执行java多线程任务的效率
这篇文章就是验证一件事: 只有多核cpu的计算机执行多个线程时才会提高效率(并行),单核cpu执行多个线程不会提高效率(并发). 我选择的任务是:冒泡排序长度30000的int数组 单线程下 我们先测 ...
- 多线程在单核cpu与多核cpu下如何工作
1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢) 多个cpu的话就可以在两个cpu中同时执行了 ...
- 对于多线程程序,单核cpu与多核cpu是怎么工作的
此文中的大部分资料来自于网络上,我只是觉得把有道理的整理一下,方便以后查阅. 1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个 ...
- c语言如何多核运行程序,对于多线程程序,单核cpu和多核cpu如何工作?
1. 单核和多核CPU上多线程执行效率的探讨 a1: 多线程实际上是在单个CPU中按顺序执行的,但是系统可以帮助您切换该执行,但是它不是很快的(相反,是缓慢的) 如果有多个cpus,则可以同时在两个c ...
- linux 多线程并行计算,Linux下使用POSIX Thread作多核多线程并行计算
POSIX线程库根据处理器.操作系统等特性封装了一台线程处理的接口.对于目前基于x86处理器架构的Linux系统来说,它往往会默认地将新创建的一个线程调度到与主线程不同的核中执行,如果这样能更好地平衡 ...
- 多核多线程中小和尚老和尚取水喝水问题
最近学习多核多线程技术,最后的考试题目是和尚的问题.题目具体如下: 某寺庙有小和尚.老和尚若干.庙内有一水缸.由小和尚提水入缸,供老和尚引用.水缸可容纳10桶水,每次入水.取水都为1桶,且不可同时进行 ...
最新文章
- ISME:水库蓝藻水华发生和消退后浮游生物群落的动态变化
- Win10远程桌面失败,这可能是由于CredSSP加密Oracle修正 解决方法
- 基于wayland的linux桌面,揭开Wayland的面纱(二):Wayland应运而生
- 计算机组成原理 外部设备分为,2017考研计算机组成原理第七章考点:外部设备...
- 贷款被拒,因为你的征信黑洞太多
- vSphere HA 原理与配置
- FireUIPagedScrollView
- Generate a Simulator Build command
- 深度学习训练和推理有何不同?
- python微信公众菜单_Python实现微信公众平台自定义菜单实例
- 5月27 权限设置及功能
- 2020年红帽认证考试题目RHCSA8
- ADC的DMA多通道数据采集(雨滴传感器+光敏传感器)
- 虾扑 上货软件全新升级提升运营率
- FANUC机器人基础学习_示教器详解(图文)
- 【网络编程--UDP、TCP】
- python爬取app store的评论_用python爬取苹果官网店铺
- js验证银行卡身份证手机号中文数字金额等
- 解读 2018:13 家开源框架谁能统一流计算?
- 头歌 数据结构与算法答案 善用目录
热门文章
- Dark Wonder(暗黑奇侠)学习笔记
- P2628 冒险岛 AC于2018.10.31
- “菜鸟”程序员 VS “大神”程序员。
- 【嵌入式模块】蓝牙模块使用总结
- 当LinkedIn股价腰斩的时候CEO说些什么
- 【31】核心易中期刊推荐——电子信息技术计算机技术
- php mds函数,MDS分类- 血液病百科 - Powered by HDWiki!
- 随着互联网的发展使得很多传统行业正在发生革命性的转变
- 《Sibelius 脚本程序设计》连载(三十六) - 4.6 Folder
- 最简单的英语口头禅:)