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

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

由上图可知:

一、线程

1、定义


二、进程

1、定义

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


三、Android进程和线程的区别

  • 定义的区别(见上面)
  • 基本单位区别: 
    1、线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位,基本上不拥有系统资源,故对他的调度所用资源小,能更高效提高系统内多个程序间并发执行的。 
    2、进程是系统进行资源分配和调度的一个独立单位。可以申请和拥有系统资源,一个动态的概念,一个活动的实体,是一个执行中的程序
  • 进程间有不同的代码和数据空间,多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。
  • 进程间相互独立,同一进程的各线程间共享,某进程内的线程在其他进程不可见。
  • 进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
  • 线程上下文切换比进程上下文切换要快得多。

Android系统(40)---进程与线程相关推荐

  1. 从源码角度看Android系统SystemServer进程启动过程

    SystemServer进程是由Zygote进程fork生成,进程名为system_server,主要用于创建系统服务. 备注:本文将结合Android8.0的源码看SystemServer进程的启动 ...

  2. 掌握Android中的进程和线程

    进程和线程是现代网络操作系统的核心概念.Android作为一种优秀的.承袭Linux的移动操作系统,其进程和线程的概念是开发者和安全工作人员需要深入了解的问题.本文将详细介绍Android中的进程.线 ...

  3. 从源码角度看Android系统Zygote进程启动过程

    在Android系统中,DVM.ART.应用程序进程和SystemServer进程都是由Zygote进程创建的,因此Zygote又称为"孵化器".它是通过fork的形式来创建应用程 ...

  4. android任务 进程 线程详解,Android任务、进程、线程详解

    singleTop模式,基本上于standard分歧,仅正在请求的Activity反好位于栈顶时,无所区别.此时,配放成singleTop的Activity,不再会构制新的实例加入到Task栈外,而是 ...

  5. android休眠后恢复线程,关于Android系统休眠后,线程的执行情况

    理论上,android系统休眠后,app进程会被挂起,所以相关的执行线程也会被挂起,那些java线程的操作例如:wait,await,sleep,循环阻塞,handler的delay,线程池的dela ...

  6. Android系统init进程启动及init.rc全解析

    这是一篇用心写的博客,也希望大家用心看并帮忙找到文章的改进之处,谢谢: 服务启动机制 system/core/init/init.c文件main函数中parse_config_file(init.rc ...

  7. Android中的进程和线程

    写在前面的话 一个Android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全. 一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说 ...

  8. Android任务、进程、线程详解

    任务.进程和线程     关于Android中的组件和应用,之前涉及,大都是静态的概念.而当一个应用运行起来,就难免会需要关心进程.线程这样的概念.在Android中,组件的动态运行,有一个最与众不同 ...

  9. Android任务、进程和线程

    任务.进程和线程     关于Android中的组件和应用,之前涉及,大都是静态的概念.而当一个应用运行起来,就难免会需要关心进程.线程这样的概念.在Android中,组件的动态运行,有一个最与众不同 ...

  10. Android系统的进程分类

    1.前台进程:即当前正在前台运行的进程,说明用户当前正在与通过该进程与系统进行交互,所以该进程为最重要的进程,除非系统的内容已经到不堪重负的情况,否则系统是不会将改进程终止的. 2.可见进程:一般还是 ...

最新文章

  1. OpenCV 像素存储
  2. ssh远程工具_Rsync如何利用SSH加密隧道同步文件
  3. web.config中配置Session
  4. Console.WriteLine()与MessageBox.Show()的区别
  5. 从一个 SAP CRM 软件实际的故障处理出发,谈谈企业管理软件领域内那些很难稳定重现故障的处理技巧
  6. halcon/c++接口基础 之 析构函数和Halcon算子
  7. 数据分析团队的价值_您的数据科学团队的价值
  8. Linux虚拟化:KVM影子页表
  9. rac部署过程的任务列表
  10. android 即时聊天工具 yq,Android 开发即时聊天工具 YQ :(四) 获取好友列表
  11. MySQL更新行和插入列的语句
  12. 搜索引擎网站登录入口
  13. springboot 对接海康设备
  14. st语言 数组的常用方法_三菱ST语言编程中常用的函数/功能块使用方法
  15. 2020中青杯B题股指与国家经济数学建模全过程文档及程序
  16. rar、zip优缺点
  17. 【听课笔记】复旦大学遗传学_05染色体畸变
  18. python ndimage.gaussian_filter_Python ndimage.maximum_filter方法代碼示例
  19. java xml 小于等于_MyBatis中xml文件中的大于 大于等于 小于 小于等于 写法
  20. 2022年湖南省自考考试学前教育行政与管理练习题及答案

热门文章

  1. 谷粒商城高级篇爬坑笔记--错误异常信息乱码问题
  2. 【LeetCode】【HOT】739. 每日温度(栈)
  3. dubbo通信协议之对比
  4. kafka与Spring的集成
  5. luogu2320 鬼谷子的钱袋
  6. 【文文殿下】Manache算法-学习笔记
  7. 超简单开发自己的php框架一点都不难
  8. tomcat启动正常,但是访问项目时,404. Eclipse没有正确部署工程项目
  9. 小操作_js调出outlook
  10. .Net Framework学习的10个建议