操作系统可以同时执行多个任务,每个任务就是进程(并发),进程可以同时执行多个任务,每个任务就是线程(并行多核的情况下)
1.多进程形式,允许多个任务同时运行(多进程并发)
你可以qq聊天的同时听音乐,表面上是同时在运行两个进程,但是对于CPU(不管是单核还是多核)对于某一时刻只能,CPU总是最多运行一个进程,其他进程处于非运行状态。但是同时运行那么多程序是如何实现的呢,靠操作系统,操作系统可以将每个进程划分为n份,快速轮流处理每个进程的份,这样快速的切换使得宏观上具有多个进程同时运行的效果,所以用户表面上看到了同时运行多个程序。
多进程其实是将所有进程按时间分为一个一个的时间片,每一个时刻只执行某个特定的片,时间片过期后转而执行下一个进程的时间片
2.多线程形式,允许单个任务分成不同的部分运行(多线程并行)
线程是CPU调度的基本单位,对于单核CPU来说是以并发的形式来处理多个线程,但是多核CPU可以以并行的形式处理多个线程