cpu与核心
物理核
物理核数量 = cpu数(机子上装的cpu的数量)*每个cpu的核心数
虚拟核
所谓的4核8线程,4核指的是物理核心。通过超线程技术,用一个物理核模拟两个虚拟核,每个核两个线程,总数为8线程。
在操作系统看来是8个核,但是实际上是4个物理核。
通过超线程技术可以实现单个物理核实现线程级别的并行计算,但是比不上性能两个物理核。
单核cpu和多核cpu
都是一个cpu,不同的是每个cpu上的核心数
多核cpu是多个单核cpu的替代方案,多核cpu减小了体积,同时也减少了功耗
一个核心只能同时执行一个线程
进程和线程
理解
进程是操作系统进行资源(包括cpu、内存、磁盘io等)分配的最小单位
线程是cpu调度和分配的基本单位
我们打开的微信,浏览器都是一个进程
进程可能有多个子任务,比如微信要接受消息,发送消息,这些子任务就是线程。
资源分配给进程,线程共享进程资源。
对比
线程切换
cpu给线程分配时间片(也就是分配给线程的时间),执行完时间片后会切换都另一个线程。
切换之前会保存线程的状态,下次时间片再给这个线程时才能知道当前状态。
从保存线程a的状态再到切换到线程b时,重新加载线程b的状态的这个过程就叫上下文切换。
而上下切换时会消耗大量的cpu时间。
线程开销
上下文切换消耗
线程创建和消亡的开销
线程需要保存维持线程本地栈,会消耗内存
串行,并发与并行
串行
多个任务,执行时一个执行完再执行另一个。
比喻:吃完饭再看球赛。
并发
多个线程在单个核心运行,同一时间一个线程运行,系统不停切换线程,看起来像同时运行,实际上是线程不停切换。
比喻: 一会跑去食厅吃饭,一会跑去客厅看球赛。
并行
每个线程分配给独立的核心,线程同时运行。
比喻:一边吃饭一边看球赛。
多核下线程数量选择
计算密集型
程序主要为复杂的逻辑判断和复杂的运算。
cpu的利用率高,不用开太多的线程,开太多线程反而会因为线程切换时切换上下文而浪费资源。
io密集型
程序主要为io操作,比如磁盘io(读取文件)和网络io(网络请求)。
因为io操作会阻塞线程,cpu利用率不高,可以开多点线程,阻塞时可以切换到其他就绪线程,提高cpu利用率。
总结
提高性能的一种方式:提高硬件水平,处理速度或核心数。
另一种方式:根据场景,合理设置线程数,软件上提高cpu利用率。
基于RFID与车牌识别技术相结合的管理方法
通过大棚杀虫灯可提升灭虫的效率
DS2155 Internal BERT Programmi
传感器如何打造智能楼宇
THA6510/国产车规MCU/ 紫光芯能/原装正品/贞光科技代理/极速发货
CPU与核心及进程和线程认识
三星2019年5G手机出货量全球第一 华为小米争相反击
星形接法是220v还是380v 星形连接与三角形连接的特点
Arm中国DesignStart“开芯计划 助你开芯”系列路演再次上路
苹果App Store新增两种通知类型
Apple Watch的紧急求救功能可以让用户快速拨打急救电话
大肠杆菌快速检测仪的功能特点介绍
物理服务器和独立服务器的区别
第九届全球移动宽带论坛携手各地ict领袖,共论移动宽带未来发展
Xilinx北京隆重进驻新址 新十年“芯”征程全面启航
联想Ego智能手表在印度推出,支持和Android和iOS设备配对
iOS10.3已发布苹果的哪些机型可升级?iOS10.3.1盘古越狱工具是假?
英伟达通过利用GAN及无监督学习,实现了场景间的四季转换
第三代真无线耳机Redmi AirDots 3正式上架京东开售
携号转网会对电信运营商的竞争格局造成怎样的影响