cpu个数、核数、线程数、Java多线程关系综合
查看电脑逻辑核心数:
点"性能"选项卡,可以看到CPU使用记录,下面有几个框就代表有逻辑核心几个核心。如下图分别代表逻辑四核心
4核心
查看物理核心数:
NumberOfCores的值,数值为几即为物理核心几核心。
NumberOfLogicalProcessors的值,数值为几即为逻辑核心几核心。
综上:本电脑双核四线程:cpu物理上只有两个核心,但每个核心模拟成两个逻辑核心.
一 cpu个数、核数、线程数的关系
cpu个数:是指物理上,也及硬件上的核心数;
核数:是逻辑上的,简单理解为逻辑上模拟出的核心数;一个CPU核心数模拟出2线程的CPU
线程数:是同一时刻设备能并行执行的程序个数,线程数=cpu个数 * 核数,及程数=cpu个数(2) * 核数(2)=4
二 cpu线程数和Java多线程
(1) 线程是CPU级别的,单个线程同时只能在单个cpu线程中执行
(2)ava多线程并不是由于cpu线程数为多个才称为多线程,当Java线程数大于cpu线程数,操作系统使用时间片机制,采用线程调度算法,频繁的进行线程切换。
(3) 线程是操作系统最小的调度单位,进程是资源(比如:内存)分配的最小单位
(4)Java中的所有线程在JVM进程中,CPU调度的是进程中的线程