栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习记录——超线程、多线程知识点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习记录——超线程、多线程知识点

什么是多线程、超线程、CPU密集型、IO密集型

多线程是编程中的重点,那么我们就需要了解其中的原理,有问题欢迎探讨

文章目录
  • 前言
  • 一、超线程
  • 二、单核和多核的那些事
    • 1.多线程


前言

提示:在了解多线程之前先了解一下什么是线程和进程

简而言之,进程是操作系统资源分配的基本单位。一个程序在运行时有一个或者多个进程。线程是操作系统能够进行运算调用的最小单位。一个进程运行时有一个或者多个线程。


提示:以下是本篇文章正文内容

一、超线程

在购买电脑时,通常会有标注CPU是六核12线程或者8核8线程等。这里6核12线程就是一个物理核心会分为两个逻辑核心进行并行运算,但是会共享CPU核心资源,所以效率不如两个物理核心,但是相对单核来说,能够提高大概百分之三十的效率。

比如6核12线程,就是说电脑的CPU可以同时并行运算12个进程。根据操作系统和CPU的分时调度,那么电脑上是可以运行远超12个进程。

二、单核和多核的那些事 1.多线程

多线程我的理解其实是分供应端和需求端。首先就是CPU需要可以开启多线程,以及程序是多线程的程序。

比如单核非多线程运行多线程程序的情况
那么只能是说在进程分到的时间片内,第一个线程完成了工作,CPU的资源才会调度到第二个线程内。加入第一个线程在执行IO读写操作的时候时间太长,那么电脑就只能等。
如果是单核开启多线程运行多线程的情况
在进程分到的时间片,线程1因为IO读写占用时间长,那么CPU就去处理第二个线程。
总体来说,两个线程完成的总时间是不变的
那么多核心多线程的情况
加入说在分到的时间片内,可以由多个CPU来完成不同的线程。也可以涉及到分配。

那么说到CPU密集型和IO密集型。
CPU密集型适合多线程吗,CPU密集型因为CPU的负载比较大,所以最好不要开启多线程,一核心负责一线程就最好了。因为涉及到切换线程造成的时间浪费问题。如果是IO密集型,那么CPU负载比较小,空闲时间多,那么适合使用多线程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/919462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号