Android线程与进程

原创 2016年08月29日 15:26:54

问题

前几天遇见了一个android线程间通信的问题,可怜的我只知道应用层的常见方式,对Linux系统的线程间通讯却不是很了解。

Linux中的线程与进程

Linux在最初是不支持线程的,资源管理的单位是进程,线程思想的出,Linux用实现进程的方式,实现了进程。有一种说法时Linux并不存在严格上的进程与线程的区分。(这部分结论参考自网上的博客,想要深入了解需要看Linux内核的代码)

Linux中的线程与进程通信

其实作为一个程序员理解问题要了解到本质,现在所有的代码,实质上都是计算机硬件提供的加减乘除,存取功能的组合代码。这些组合代码配合上优秀的计算机思想加上大牛们对某些问题的解决方案就形成了软件行业的大千世界。

进程间的通讯

进程间的有很多方法,其实就对应了不同的解决方案。这里只说一种来回应文章最开始提出的问题。这种方式就是——管道。

其实如果没有这种解决方案你自己设计,你会如何处理呢。进程中不共享资源,但是他们在一个系统中执行,自然想到有一个文件来进行中转数据啊。So管道就是这么实现的,当然他的稳定性很高,自然少不了大牛们的修饰和完善,但解决方案的根本就是这个。所以很多看似高深的东西,都是一种巧妙但是并不复杂的解决方案的支撑。当然有些数学算法除外(那是真要智商啊)。

其中有一个问题就是他们之间都不知道这个文件是在哪啊,Bingo!所有进程之间通信依赖于命名管道,简单理解就是一个大家都是知道的文件名,大家来查找它。

虽然管道是文件但是其实他是独立于系统本身的文件系统。(说简单点就是为了通信定制的文件)

说了这多,课

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android进程和线程的区别

恩恩,今天参加阿里的面试,被问到Android中进程和线程的区别,着实把我伤脑了,表示平时开发的时候只知道线程,并没有去仔细关注过进程,所以下来特地去查了以下资料,先说说线程: (1)在Androi...
  • qq_17475155
  • qq_17475155
  • 2016年03月15日 20:02
  • 4855

Android进程与线程区别

进程,常被定义为程序的执行,可以把一个进程看成一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于他自己。          线程,某一进程中一路单独运行的程序...
  • u014297278
  • u014297278
  • 2015年07月05日 12:04
  • 1204

Android 中进程、线程的概念

一,Android 进程和线程 进程-Process 是程序的一个运行实例,以区别于“程序”这一静态的概念,二线程-Thread则是cpu调度的基本单位。 Android中的程序和进程具体是个什么概念...
  • lin20044140410
  • lin20044140410
  • 2016年04月05日 08:21
  • 1361

Android中的进程和线程

  • 2016年02月20日 19:23
  • 499KB
  • 下载

Android 应用程序模块 应用, 任务, 进程, 和线程--千锋培训

  • 2011年05月18日 21:21
  • 211KB
  • 下载

Android进程结束杀掉子线程Demo

  • 2015年12月28日 21:21
  • 1.6MB
  • 下载

Android——进程与线程

1.Android进程基本知识:      当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。 同时,Andr...
  • jscese
  • jscese
  • 2013年10月14日 18:40
  • 1466

Android的进程,线程模型

Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。 通过利用 Linux 内核的优势,Android 得到了大量操...
  • ghj1976
  • ghj1976
  • 2011年04月28日 12:23
  • 4890

Android API 指南, 线程和进程

概述: 在android 系统中,当应用启动的时候, android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用 的所有组件在同一个的进程和线程(称为“主”线程)...
  • u011326269
  • u011326269
  • 2016年06月25日 15:01
  • 267

Android的进程与线程(1)

当程序的一个组件启动的时候,如果这时程序中没有其他组件正在运行的话,Android系统将会为这个程序启动一个进程和一个线程。默认情况下,同一个程序中的所有组件运行在相同的进程和线程中(该线程被称为ma...
  • yaolingrui
  • yaolingrui
  • 2012年04月01日 09:43
  • 2352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android线程与进程
举报原因:
原因补充:

(最多只允许输入30个字)