说说一说binder的oneway机制
oneway binder 发送请求时 只有带_data parclel, 没有_reply parcel
oneway的aidl的接口定义是不能有返回值的
IPCThreadState里
waitForResponse(NULL,NULL): 带ONEWAY
waitForResponse(reply):不带ONEWAY
对于ONEWAY接口,所有调用在server端都被串行化(尽管不同应用发起请求是并行的)
server端的binder线程
onesay主要用于系统服务向应用端发起binder调用
scheduleLaunchingActivity: 系统服务向应用端发起oneway binder调用,让应用端启动acitvitiy
IWindow:WMS向应用端发起oneway binder调用
IServiceConnection: 应用端bindService完成时,AMS向应用端发起的oneway binder调用
IIntentReceiver:AMS发起oneway binder调用 分发广播
oneway binder 优点
1,异步:应用端处理这些oneway binder调用,如果很耗时,也不会阻塞系统服务
2,串行化,系统会逐个分发binder 调用
说一说binder的oneway机制
1. oneway是异步binder调用,client发起oneway binder调用后,无需挂起线程等待返回结果
2. server端串行化处理
3. oneway的实现机制是怎样的?