關於Binder Thread的一個疑問

============問題描述============android


最近在一本書上看到這樣一句話「一個Binder服務端實際上就是一個Binder類的對象,該對象一旦建立,內部就啓動一個隱藏線程。該線程接下來會接收Binder驅動發送的消息。」
我有如下2個疑問:
1:這個隱藏線程是在什麼地方被建立的?
2:android中的系統服務也是從Binder派生的,那麼這些系統服務也都有一個隱藏線程嗎
請高手指教,謝謝。

============解決方案1============eclipse


1.在後臺建立的
2.有隱藏線程,可是要等待啓用

============解決方案2============線程


Client 端不建立額外的thread。

Server 端在註冊服務後就建立Tread。

如 

    ProcessState::self()->startThreadPool();
    IPCThreadState::self()->joinThreadPool();

============解決方案3============對象


每一個process,都會有這兩個binder thread的。最簡單的驗證方法,eclipse看一下。

============解決方案4============進程

zygote,看看這個裏面的代碼.android 中的應用,service都是從這個進程fork來的。
相關文章
相關標籤/搜索