2

スレッド (Runnable と Thread クラス) および ThreadPools を作成するには、さまざまな方法があるようです。

Javaでスレッドを作成およびプールするための効率の面で違いはありますか?また、(パフォーマンスの面で)最も効率的な手法はどれですか?

4

2 に答える 2

3

多くの短く頻繁なリクエストを処理する必要がある場合は、 を使用することをお勧めします。これにより、すでに開いているスレッドを再利用してタスクThreadPoolを割り当てることができます。Runnable

ただし、単一のタスク操作のためにスレッドを起動する必要がある場合、またはアプリケーションのすべての時間または特定の長い時間実行されるデーモン スレッドをインスタンス化する必要がある場合は、単一のスレッドを作成し、不要になったときに終了することをお勧めします。 .

于 2012-04-07T03:27:16.060 に答える
0

Thread結局のところ、それらはすべて、実際に作業を行うために、同じ基礎となる に基づくメカニズムに依存しています。つまり、「単一のスレッドを開始する最も効率的な方法は何ですか?」という質問に対して、答えは、Threadオブジェクトを作成して呼び出すことです。start()他のメソッドは、最終的にThreadオブジェクトを作成して呼び出す前に、他の手順を実行するstart()ためです。

これは、これがスレッドを生成する最良の方法であるという意味ではなく、Java コードからそれを実行する最も低レベルの方法であることを意味するだけです。スレッドを作成する他の方法が提供するものは、基礎となる を管理するためのさまざまな種類のインフラストラクチャですThread。そのため、どの方法を選択するかは、必要なインフラストラクチャの量と種類に依存する必要があります。

于 2012-04-07T03:46:48.493 に答える