目录
3.同一个进程的多个线程之间共用同一份内存/文件资源,进程与进程之间,则是独立的内存/文件资源
谈到操作系统,进程线程的概念和区别,就是出场频率最高的面试问题(没有之一)!
首先来看看面试官会如何引出这样一个问题~
“为什么会有线程(Thread)?”
例如写一个服务器程序,针对每个客户端就可以分别创建一个进程去服务,但是想象一下,如果这里有多个客户端,每个客户端一来都要创建一个进程来服务,客户端一走,就要销毁这个进程,这样一来二去,进程的创建销毁过于频繁,实际上效率是比较低的;来看看进程的创建与销毁有哪些步骤:
创建进程的步骤:1.创建PCB、2.给进程分配资源(内存/文件),赋值到PCB中、3.把PCB插入链表;
销毁进程的步骤:1.把PCB从链表中删除、2.把PCB持有资源释放、3.销毁PCB;
因此聪明的程序员就发明了“线程”;线程也称为“轻量级进程”