您的位置:首页 > 移动开发 > Android开发

【线程和进程】Android线程和进程完全解析,及区别

2017-06-05 14:58 232 查看
Android是基于Linux的移动操作系统,但是和Linux本身还是有差别的面试过程中常常会问到相关线程和进程的问题,我们不妨来了解一哈。.

受限给一张大图构建一下总体的概念



由上图可知:

一、线程

1、定义



二、进程

1、定义

是一个具有独立功能的程序关于某个数据集合的一次运行活动

三、Android进程和线程的区别

定义的区别(见上面)

基本单位区别:

1、线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,基本上不拥有系统资源,故对他的调度所用资源小,能更高效提高系统内多个程序间并发执行的。

2、进程是系统进行资源分配和调度的一个独立单位。可以申请和拥有系统资源,一个动态的概念,一个活动的实体,是一个执行中的程序

进程间有不同的代码和数据空间,多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。

进程间相互独立,同一进程的各线程间共享,某进程内的线程在其他进程不可见。

进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

线程上下文切换比进程上下文切换要快得多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: