进程线程区别和通讯

 

进程概念:系统进行资源分配和调度的独立单元。一个程序之前有一个进程,一个进程之前有一个线程。进程类似一个车间,里面有很多流水线线程。

多进程优点:可以为应用争取更多资源。一个进程崩溃,不至于整个应用挂掉。

缺点:让应用变更重,更耗电,数据共享困难。在应用初始化时Application多次创建(应通过判断当前应用id防止)

 

多进程实现:在四大组件注册时加上android:process=":{key}",加:表示是当前应用的私有进程,其他进程不能通过shareUid跟他跑在同一进程中共享数据,不加则可以。

 

1. Activity间的通信

广播

接口回调

观察者模式

第三方 rxbus、eventbus

 

2. 线程间的通信

1) thread + handler

2) AsyncTask

3) runOnUiThread

4) View 和 handle的post方法

 

3. 进程(不同应用)间的通信

1) 广播

ps:出于安全考虑,发送广播的时候要设置权限,注册了该权限的接收器 才能接收到广播

2) Intent

通过intent设定相应的action即可打开对应activity

3) Content pridiver

用观察者模式,通过Cursor共享数据,通讯录

4) AIDL

远程接口

5) Binder

???

 

4. 进程线程区别

1个程序至少拥有一个进程,1个进程由多个线程组成,至少拥有1个线程

进程拥有独立的内存,而多个线程共享内存

线程必须依存与应用程序中

线程意义在于一个应用程序可以由多个线程同时运行,对进程进行资源调度分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值