2010-11-20 5 views
0

음 .. 여기서 내가하려고하는 것은 피어 투 피어 클라이언트와 같은 것을 구현하는 것입니다. 그러면 클라이언트 스레드와 서버 스레드가 시작됩니다.스레드 2 개와 서비스 1 개 또는 스레드 당 서비스 하나?

서비스 자체가 기본 GUI 스레드에서 실행된다는 것을 알고 있으므로 각 서버와 클라이언트에 대해 독립적 인 스레드 두 개 (또는 Asynctasks?)를 시작해야합니다. 내가 확신하지 못하는 유일한 것은, 서비스가 2 개 스레드 또는 어쩌면 2 개 서비스를 시작하도록하는 것이고, 각자 자신의 스레드를 시작하는 것입니다.

당신은 어떻게 생각하십니까? 어떤면에서 성능이 현명합니까? 아니면 무의미한가요? 아직 읽지 않은 경우

감사 넬슨

답변

1

성능면에서는 관련이 없습니다.

그래서 모두는이 작업의 의미에 따라, 당신이 공유하고자합니다 얼마나 많은 코드 등은 어쩌면 ClientThreadServerThread는 서비스 클래스 자체가 거의있을 것이라는 점을 주어, 나쁘지 않네요 걸친 BilthonService을 가진 모든 코드.

1

당신은 Android Fundamentals에서 Processes and Threads 장을 읽어야합니다.

각 서비스는 자체 스레드에 걸쳐 있어야합니다. 새로운 요청이 수신 될 때마다 그 통신을 위해 전용 된 새로운 스레드로 확장됩니다. 이렇게하면 서버에서 동시에 여러 요청을 처리 할 수 ​​있습니다.

+0

글쎄요 .. 제가이 장을 읽었지만, 2 개 이상의 스레드에 걸친 서비스에 대해 명시 적으로 언급하지 않았습니다. – Bilthon

+0

각 요청을 동시에 서버에 저장하려면 별도의 스레드에서 실행해야합니다. – Pentium10

관련 문제