Android Binders - 多个进程如何在读/写时同步?

时间:2018-05-26 12:01:08

标签: android concurrency process locks android-binder

我想知道Binders在同时提供多个流程时如何在内部工作。

我试图走过司机的code,但这有点复杂。但是,如果我没有弄错的话,我发现代码在执行事务时包含了一些锁,但是并不完全确定这些锁的范围。

如您所知,Binder服务包含一个线程池(16个线程),用于增加并发性以同时为多个进程提供服务。我的困惑来到这里。如果绑定程序驱动程序本身使用某种全局锁来序列化访问,那么整个绑定器框架如何利用此线程池?

我唯一有效的答案是粘合剂可能正在使用一些"粒状"然后锁定释放它以使事物(线程)上升到服务端线程池。

我可能完全或部分错误。任何帮助将非常感谢。

PS:如果锁定就像"粒状"然后如何保护全局读/写缓冲区(如果有的话)以防止来自多个进程的潜在多个读/写。或者,那些缓冲区是否在线程堆栈中(因此受到本质保护)?

0 个答案:

没有答案