Android 进程和线程的区别

一、首先我们先来了解他们的基本概念
1.进程:进程是系统进行资源分配的基本单元

·有一段程序供其执行
·拥有专用的系统堆栈空间
·在内存中有对应的进程控制块
·拥有独立的用户存储空间
·进程之间不能进行自由的信息交互(别问我,问就是Android规定的)

2.线程:是CUP调度的基本单元

·每个进程必须包含一个线程
·进程间的切换开销比较大,线程创建和终止比进程快,进程间无法进行自由的资源交换,同进程内的线程可以自由交换

二、举个例子
举栗子.jpg

我们可以将Android系统比做一个大公司,进程相当于某个部门的经理,他有自己要做到项目(有一段程序供其执行,在内存中有对应的进程控制块),拥有自己部门的办公场地(拥有独立的用户存储空间)。
线程就相当于每个部门的员工,员工得依赖于经理提供的工作环境才能够进行工作(线程必须依赖于进程),而经理手下必须得有一个员工(要不然分配的工作交给谁来做),我们都知道在一个大公司下每个部门和每个部门沟通是比较困难的,但是一个部门之间的员工沟通相对容易许多(同进程下的线程共享资源)。

参考:https://blog.csdn.net/u012221046/article/details/78010365

你可能感兴趣的:(Android 进程和线程的区别)