常见的操作系统,如:Mac OS X、UNIX、Linux、Windows,都是执行“多任务”的操作系统
单核CPU执行多任务
操作系统轮流让各个任务交替执行,任务1执行0.01s,切换到任务2,任务2执行0.01s,再切换到任务3...,由于CPU的执行速度实在是太快了。感觉就像所有任务都在同时执行一样。
多核CPU执行多任务
真正的并行执行只能在多核CPU上实现。但是由于任务数量远多于CPU的核心数量。所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。
进程Process
我们在电脑里开着很多个程序/应用,这就是进程。
线程Thread
每个进程(程序/应用)里运行着很多子任务,这儿的子任务就叫线程。
多线程和多进程的执行方式是一样的,也是由于操作系统在多个线程之间快速切换,让多个线程都短暂地交替运行,看起来就像同时执行一样。
|