面试之进程和线程的区别

在这里插入图片描述

1.进程是资源分配的基本单位,线程是CPU调度和分派的基本单位

2.线程是进程的一部分,一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程

3.每个进程都有独立的代码和数据空间(程序上下文),程序间的切换开销大,
线程可看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程间切换开销小

4.在操作系统中能同时运行多个进程(程序)
在同一个进程(程序)中多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)

5.系统在运行的时候会为每个进程分配不同的内存空间
线程除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源

6.没有现成的进程可以看做单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,维斯多条线(线程)共同完成
线程是进程的一部分,故线程被称为轻权进程/轻量级进程

发布了114 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44026997/article/details/104796244
今日推荐