CPU 核心数就代表计算机有多少个进程数吗?
答复一
首先,进程是操作系统中资源分配的基本单位。进程是操作系统对正在运行的程序的一种抽象,可以将进程看作程序的一次运行。线程:线程是操作系统中cpu调度执行的基本单位。一个线程一个“执行流”,每个线程之间都可以按照顺序执行自己的代码,多个线程“同时”执行多份代码。
所以线程是cpu调度执行的基本单位(注意,不是进程)。在同一时刻下,多核cpu就可以同时运行多个线程(同时运行的线程个数取决于cpu的核心数),这种多线程间的执行就不是并发了,而是真正的并行执行了。线程是每个核。
答复二
完全错误。
进程或者线程是执行的概念,一个核心也可以同时执行n个线程或者进程
cpu核心数:cpu的物理核心个数
cpu逻辑核数:一般一个物理核心就是一个cpu逻辑核心,有超线程的话,一个cpu物理核心是两个甚至更多cpu逻辑核。
线程&用户线程:在cpu逻辑核之上的运行线程,一个cpu逻辑核心虽然在某一个时刻只能执行当前一个线程,但是可以通过短时间内不停切换线程执行的手段,让一个cpu逻辑核心同时执行n个线程,用户感知起来就是并行的,这也是cpu能运行多任务的本质。
进程:一个进程至少有一个主线程,进程可以一个以上的线程。exe启动就是一个进程,但它可以有多个线程
所以,理论上,一个计算机能执行的线程或者进程数量是无限多的,但实际上操作系统会限制进程数量和进程的线程最大数量,进程或者线程太多会占用更多资源,电脑会更卡,但就算会更卡,实际上只要在“不停切换执行” , 那么就是在“并行”。