一、进程的提出
从计算机接受单一特定指令到批处理操作系统,其中指令运行方式为串行,内存中始终只有一个程序在运行,其效率是不高的,人们为提高计算机的操作效率,便思考“内存中是否能存在多个程序”,于是便有科学家提出了进程的概念。
使用进程+CPU时间片轮转方式的操作系统,在宏观上看起来同一时间段执行多个任务,但事实上,对于单核CPU来说,任意具体时刻都只有一个任务在占用CPU资源。
二、线程的提出
进程的出现使得操作系统的性能得到大大的提升,慢慢地人们并不满足一个进程在一段时间只能做一件事情,如果一个进程有多个子任务时,只能逐步执行这些子任务,很影响效率。那能不能让这些子任务同时执行呢?于是线程的概念便被提出了。
让⼀个线程执⾏⼀个⼦任务,这样⼀个进程就包含了多个线程,每个线程负责⼀个单独的⼦任务。
进程让操作系统的并发性成为了可能,而线程让进程的内部并发成为了可能。