并发与并行
并发:指两个或多个事件在同⼀个时间段内发⽣。
并行:指两个或多个事件在同⼀时刻发⽣(同时发⽣)。
在操作系统中,安装了多个程序,并⾏指的是在⼀段时间内宏观上有多个程序同时运行,这在单 CPU系统中,每⼀时刻只能有⼀道程序执行,即微观上这些程序是分时的交替运⾏,只不过是给⼈的感觉是同时运⾏,那是因为分时交替运⾏的时间是非常短的。
而在多个 CPU 系统中,则这些可以并发执⾏的程序便可以分配到多个处理器上(CPU),实现多任务
并行执行,即利⽤每个处理器来处理⼀个可以并发执⾏的程序,这样多个程序便可以同时执行。⽬前电脑市场上说的多核 CPU,便是多核处理器,核 越多,并⾏处理的程序越多,能大大的提高电脑运行的效率。
注意:单核处理器的计算机肯定是不能并⾏的处理多个任务的,只能是多个任务在单个CPU上并发运⾏。同理,线程也是⼀样的,从宏观⻆度上理解线程是并⾏运⾏的,但是从微观⻆度上分析却是串⾏运⾏的,即⼀个线程⼀个线程的去运⾏,当系统只有⼀个CPU时,线程会以某种顺序执⾏多个线程,我们把这种情况称之为线程调度。
线程与进程
进程:是指⼀个内存中运⾏的应⽤程序,每个进程都有⼀个独⽴的内存空间,⼀个应⽤程序可以同时运⾏多个进程;进程也是程序的⼀次执⾏过程,是系统运⾏程序的基本单位;系统运⾏⼀个程序即是⼀个进程从创建、运⾏到消亡的过程。
线程:线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程。⼀个进程中是可以有多个线程的,这个应⽤程序也可以称之为多线程程序。
简⽽⾔之:⼀个程序运⾏后⾄少有⼀个进程,⼀个进程中可以包含多个线程我们可以再电脑底部任务栏,右键----->打开任务管理器,可以查看当前任务的进程:进程
线程