zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

线程和进程的区别【Android面试送命题】

2023-09-27 14:27:47 时间

这道题面试出现的概率是百分之70

下面我来讲下如何回答

1,进程是资源管理的最小单位,线程是程序执行的最小单位

2,每个进程都有自己的数据段 代码段 和堆栈段。线程 通常叫做 轻型的进程。它包含独立的栈和CPU寄存状态,每个线程共享其所附属进程的所有资源,包含打开的文件,内存页面,信号标识及分配内存等

3 ,线程比进程花费更小的CPU资源

4 ,在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持多处理器,并且减少进程上下文切换的开销。

5,线程和进程的关系是 线程属于进程,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出锁产生的线程会被强制退出并清楚,一个进程至少需要一个线程来作为他的指令执行体,进程管理着资源(比如CPU,内存,文件等等)。而将线程分配到某个CPU上运行

6 线程按照其调度者可分为用户级线程和内核级线程两种。

用户级线程:主要解决的是上下文切换的问题,其调度过程由用户决定(程序开发者)

内核级线程:又内核调度实现

7 用户级线程要绑定内核级线程使用

8 默认情况下不能保证新线程和调用线程的执行顺序 (比如:赛跑)

9 每个进程内部的不同线程都有自己的唯一标识(ID),线程标识只在它所属的进程环境中有效

10 Sleep线程告诉系统,自己再一段时间内不被调度。



ps:你能记住几条 就决定了你是吃肉还是吃馒头 记住不记住是给别人看的 知道不知道才是你要追求的东西!