1. 逻辑CPU
2. 线程数和逻辑CPU个数,内核个数
3.线程/进程/多核CPU
1. 逻辑CPU
先查看电脑cpu信息,可以看到,是8个逻辑cpu
2. 线程数和逻辑CPU个数,内核个数
在任务管理器中,看到其实是4个内核,但是逻辑处理器是8个,有多少个逻辑处理器,就可以开多少个线程。
线程数=逻辑处理器个数
一个物理CPU可以有1个或者多个物理内核,
一个物理内核可以作为1个或者2个逻辑CPU。
操作系统可以使用逻辑CPU来模拟真实CPU。
在没有多核处理器的时候,一个物理CPU只能有一个物理内核,
有了多核技术,一个物理CPU可以有多个物理内核,可以把一个CPU当作多个CPU使用,即逻辑CPU。
没有开启超线程时,逻辑CPU的个数就是总的CPU物理内核数。
开启超线程后,逻辑CPU的个数就是总的CPU物理内核数的两倍。
实际能看到的2个物理CPU:
实现16个逻辑CPU的原理图:
详细概念:
物理CPU,物理CPU内核,逻辑CPU概念详解
3.线程/进程/多核CPU
from multiprocessing import cpu_count
print(cpu_count())
> 8
1
2
3
4
在python中,使用上述代码可以获取当前系统的逻辑cpu个数,也就是支持并发的线程个数。
这里再区分一下进程,线程,多个CPU和单个多核CPU,多个多核CPU,这些概念区别。
左图:多个物理CPU,CPU通过总线进行通信,效率比较低。
右图:多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信
进程是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,
线程是CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
**线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
win10电脑虚拟内存设置多少合适32g、16g
https://z197.com/blog/win10-virtual-memory-setting-suitable-32g-16g.html