您的位置:首页 > 编程语言 > Java开发

文章标题

2015-07-15 11:54 295 查看
线程与进程

一个进程是一个独立的执行空间,不会被正在其他进程里的程序所侵犯。这种保护方法是android的重要安全机制,在android的进程里,有一个虚拟机(Virtual Machine.简称VM)的对象。可执行java代码,也引导jni本地程序的执行,实现java与c/c++之间的沟通。

每一个进程都有一个vm对象,主线程,MQ,和looper。每个进程在诞生时,都会诞生一个主线程(Main Thread).以及一个looper类的对象和一个MQ(message queue)数据结构。每当主线程做完事情,就会去执行Looper类。

所以说线程相当于人,进程相当于饭堂,不同的人可以进到饭堂里面,不同的线程可以到进程里面执行,不同的进程的地址空间是独立的,一个进程不能进到另一个进程里面。

主线程最主要的工作就是处理UI画面的事件(event)。每当UI事件发生时,android框架会丢信息(Message)到MQ里面,主线程看到MQ有新的信息时,就取出信息,然后依据信息内容而去执行特定的函数。执行完毕,就再继续执行Looper类。

当两个类都在同一个进程里面执行时,两者之间的沟通,只要采取一般的函数调用(FUNCTION CALL)就行了,即快速又方便,一旦两个类分别在不同的进程里面执行时,两者的沟通就不能采取一般的函数调用途径了,只好采取IPC沟通途径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java