java中线程与CPU核的关系

CPU的发展从早期的单核,发展成现在的多核、双核。

CPU中核心数与线程数的介绍与区别。
核心数是指物理上,也就是硬件上存在几个核心。比如双核就是包括两个相对独立的CPU核心单元组。
线程数是一个逻辑上的概念,就是模拟出的CPU核心数,比如可以通过一个实际的CPU核心单元组模拟出2线程的CPU,一个实体核心,两个逻辑线程,这个单核心的CPU就被模拟成一个类似双核心CPU的功能,可以同时处理两个线程的工作。从任务管理器的性能标签页中看到的就是两个CPU。这种模拟技术被叫做超线程技术。
常说的四核八线,四核指该CPU有四个实体核心,八线指每个CPU运行两个逻辑线程,总共八个线程。
对于CPU来说,线程数 >= 核心数。在不引入超线程技术时,一个核心对应一个线程。通过超线程技术可以使一个核心对应两个线程,也就是说它可以同时运行两个线程。

超线程技术:把一个物理核心模拟成两个逻辑线程,模拟的结果是像两个物理核心一样同一时间运行两个线程,在设备管理器、任务管理器中会显示两个核心,但实际上并不是真正的两核,真单核,虚拟两核。
引入超线程技术的原因:源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。

总结:
单核情况
1)早期(不引入超线程技术):一个CPU核心对应一个线程,核心数等于线程数。
①单任务阶段:任务串行化执行,一段时间执行一个任务。
②多任务阶段:任务并发执行,一段时间执行多个任务,某一时刻只有一个任务在执行,通过CPU分时间片,上下文切换完成。
2)引入超线程技术:四核八线,用单核情况模拟多核情况。

多核情况:多个单核情况,线程可以实现并行执行,也就是同一时刻,有多个任务在执行,属于物理上的同时执行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值