进程:程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本过程。
线程:线程是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位。
一个进程可以创建和销毁多个进程,同一个进程中的多个线程可以并发执行。
一个程序至少有一个进程,一个进程至少有一个线程。
多线程程序在单核上运行,就是并发。
多线程程序在多核上运行,就是并行。
并发:在一个CPU上,有10个线程,每个线程执行10ms(进行轮询操作),从人的角度看,好像这10个线程都在运行,但是从微观上看,在某一个时间点看,其实只有一个线程在执行,这就是并发。
并行:因为是在多个cpu上(比如有10个cpu),比如有10个线程,每个线程执行10ms(各自在不同cpu上执行),从人的角度看,这10个线程都在运行。从微观上看,在某一个时间点看,也同时有10个线程在执行,这就是并行。