2010-11-20 6 views
0

Nun .. was ich hier versuche, ist etwas wie ein Peer-to-Peer-Client zu implementieren. Dadurch wird ein Client-Thread und ein Server-Thread gestartet.Zwei Threads und 1 Service oder ein Service pro Thread?

Ich weiß, dass die Dienste selbst im Haupt-GUI-Thread laufen, also muss ich für jeden Server und jeden Client ein paar unabhängige Threads (oder Asynctasks?) Starten. Das einzige, worüber ich mir nicht sicher bin, ist, ob ich besser 1 Service habe, der 2 Threads startet, oder vielleicht 2 Services, von denen jeder seinen eigenen Thread startet.

Was denkst du? Welcher Weg ist besser in der Leistung? oder ist es irrelevant?

Dank Nelson

Antwort

1

Leistungstechnisch ist es irrelevant.

es hängt also alles von der Semantik Ihrer beiden Aufgaben, und wie viel Code, den Sie teilen würde, usw., die vielleicht ein BilthonService Spanning ein ClientThread und ServerThread nicht so schlimm ist, da die Service-Klasse selbst wird kaum haben irgendein Code.

1

Sie sollten Processes and Threads Kapitel aus Android Fundamentals lesen, wenn Sie noch nicht gelesen haben.

Jeder Dienst sollte seinen eigenen Thread umfassen. Wenn jede neue Anfrage empfangen wird, spanne einen neuen Thread, der für diese Kommunikation reserviert ist. Auf diese Weise können Sie mehrere Anfragen gleichzeitig auf Ihrem Server bearbeiten.

+0

Nun ja .. Ich habe dieses Kapitel gelesen, aber es sagt nichts explizit über einen Service aus 2 oder mehr Threads. – Bilthon

+0

Um jede Anfrage gleichzeitig zu bearbeiten, muss sie in separaten Threads ausgeführt werden. – Pentium10

Verwandte Themen