2010-11-20 12 views
0

私がここでやろうとしていることは、ピアツーピアクライアントのようなものを実装することです。そのため、クライアントスレッドとサーバースレッドが開始されます。2つのスレッドと1つのサービス、またはスレッドごとのサービス?

私はサービス自体がメインのGUIスレッドで実行されることを知っています。したがって、各サーバーとクライアントに対して2つの独立したスレッド(またはAsynctasks?)を起動する必要があります。私がそれほど確信していないのは、2つのスレッド、あるいはおそらく2つのサービスを開始しているサービスが1つあり、それぞれが独自のスレッドを開始していることです。

あなたはどう思いますか?どちらの方がパフォーマンスが良いですか?それとも無関係でしょうか?

おかげ ネルソン

答えて

1

パフォーマンス面では、それは無関係です。

だから、すべてはたぶんClientThreadServerThreadにまたがるBilthonServiceは、サービスクラス自体はほとんど持っているだろうことを考えると、あまりにも悪いことではありません持つなど、あなたの二つのタスクのセマンティクスに依存し、どのくらいのコードあなたが共有したいです任意のコード。

1

あなたがまだ読んでいない場合は、Android FundamentalsからProcesses and Threads章をお読みください。

各サービスは独自のスレッドにまたがる必要があります。新しい要求が受信されるたびに、その通信専用の新しいスレッドにまたがる。このようにして、サーバー上で同時に複数の要求を処理できます。

+0

私はこの章を読んだことがありますが、2つ以上のスレッドにまたがるサービスについては何も明示していません。 – Bilthon

+0

同時に各リクエストを処理するには、別々のスレッドで実行する必要があります。 – Pentium10

関連する問題