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

C++11学习- CPU多核与多线程、并行与并发

随着计算机编程频繁使用,关于CPU的处理性能的讨论从未停止过,由于我最近在学习多线程相关的知识,那么就来理一理CPU的核心问题。

一、线程与进程

业解释

线程是CPU调度和分配的基本单位,可以理解为CPU只看得到线程;

进程是操作系统进行资源分配的最小单位;

通俗解释

进程是你想要运行的一个可执行程序,假设这个程序你使用了多线程的方法;

当你执行这个程序时,CPU响应为该进程分配资源对其进行处理,但是CPU看不到"进程", 看到的是由很多个线程组成的一个网络(就是一个进程),于是CPU开始为这些线程利用时间分配算法来循环执行任务。

        "处理":单CPU单核处理就是线程(进程)并发处理,单CPU多核就可以线程并行处理;
                多CPU(肯定多核)进程可以并行处理
        
        "一般个人电脑都是单CPU多核"

二、并行与并发

单核CPU处理系统只有并发,没有并行,它可以支持多个任务的运行,但是因为只有一个处理器,所以无法并行;

多核CPU处理器可以支持并行和并发,多个核可同时并行处理任务,而单核上也可以并发处理多个线程。

三、ubuntu下查看电脑CPU核数,CPU个数,最大线程数(逻辑CPU的数量)

	## CPU个数more /proc/cpuinfo |grep "physical id"|uniq|wc -l    # 1## 查看CPU核数cat /proc/cpuinfo| grep "cpu cores"| uniq      # 6## 查看最大线程数(逻辑CPU的数量)more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l    # 12

http://www.lryc.cn/news/63669.html

相关文章:

  • docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client
  • Redis在linux下安装
  • 这里有你想知道的那些卖家友好型跨境电商平台!
  • 架构中如何建设共识
  • 力扣(LeetCode)1172. 餐盘栈(C++)
  • 详细说一下DotNet Core 、DotNet5、DotNet6和DotNet7的简介和区别
  • 基于MBD的控制系统建模与仿真软件工具集
  • QML动画分组(Grouped Animations)
  • 探索未来的数字人生:全景VR数字人
  • 计算机基础 -- 硬件篇
  • 【高危】Apache Superset <2.1.0 认证绕过漏洞(POC)(CVE-2023-27524)
  • vue3如果用setup写如何获取类似于vue2中的this
  • 关于 API接口的一些知识分享
  • 【ROS仿真实战】Gazebo仿真平台介绍及安装方法(一)
  • Lychee图床 - 本地配置属于自己的相册管理系统并远程访问
  • VP记录:Codeforces Round 865 (Div. 2) A~C
  • 智能学习 | MATLAB实现PSO-SVM多输入单输出回归预测(粒子群算法优化支持向量机)
  • Java后端:html转pdf实战笔记
  • 设计模式-适配器模式
  • 一款支持全文检索、工作流审批、知识图谱的企事业知识库
  • SAP MRP例外信息解释
  • 广义的S变换
  • python异常及其捕获
  • mysql实现存在则保存,不存在则更新
  • MCU固件升级系列1(STM32)
  • ImageJ 用户手册——第五部分(菜单命令Window)
  • 利用css实现视差滚动和抖动效果
  • 以桨为楫 修己度人(一)
  • 网络编程之简单socket通信
  • 计算机图形辐照度学、光度学