Binder 服务调用 和主线程的关系(1)
来源:互联网 发布:阿里云事业部组织架构 编辑:程序博客网 时间:2024/06/05 05:05
1.Binder服务的调用对象和Binder服务处于同一进程
在这种情况下,Binder 服务的调用对象调用服务方法的代码所在线程和 Binder服务执行所调用的方法的代码所在的线程,属于同一个线程。这个可以通过打印log 去验证。比如 应用程序A,的某个Activity在 AsyncTask 中访问 Binder 服务,这个Binder服务在应用程序A中的android.app.Service 中发布。在打印log 的时候你会发现 Binder 服务所执行的代码就处于 AsyncTask 的线程中。
所以为了让你的工作线程不影响主线程,尽量避免你的工作线程和主线程共享同步锁,一旦共享同步锁,在你的工作线程(持有同步锁)没有执行完之前,如果主线程也想获得相同的同步锁,主线程就会被阻塞。主线程一旦被某个工作任务阻塞,其他的工作任务都无法执行,如果阻塞时间过长,还会造成应用程序的ANR.
1 0
- Binder 服务调用 和主线程的关系(1)
- sigck(2.Binder机制和远程服务调用机制)
- 关于主线程和副线程之间的关系
- Android 主线程和子线程的关系
- Windows主线程和子线程的关系
- ExitThread的用法和主线程调用情况
- service manager和binder service的关系
- Binder和AIDL之间的关系
- binder应用服务和binder系统服务的相似点
- 主线程与子线程的关系
- Android系统篇之----Binder机制和远程服务调用
- 进程,主线程,异步线程,多线程和runloop的作用和关系
- Android利用Binder类实现对服务的调用
- java主线程结束和子线程结束之间的关系
- java主线程结束和子线程结束之间的关系
- java主线程结束和子线程结束之间的关系
- java主线程结束和子线程结束之间的关系
- java主线程结束和子线程结束之间的关系
- Object-C 学习笔记(二十二)--- 协议Protocol
- 网页爬虫边界控制策略研究
- POJ 1837
- js弹出对话框方式
- Android中的广播监听
- Binder 服务调用 和主线程的关系(1)
- C#笔记 委托与事件
- 第17周项目11-求字符串长度
- 5年总结
- maven相关
- android library projects cannot be launched解决办法
- 利用DDMS 查看 分析线程阻塞
- nginx中重写rewrite的语法错误[emerg] unknown directive “if($host!=”
- SQL Server 存储过程