2012-04-05 11 views
0

JVMは最初に1つのプロセスしか作成しないため、このプロセスで複数のスレッドを作成すると、複数のCPUプロセッサを搭載していると仮定してCPUのパフォーマンスが向上しますか?これは、同じプロセス内のすべてのスレッドがプロセスのリソースを共有するためです。ですから、技術的には実行は順次ですか?複数のスレッドを持つJavaシングルプロセス

つまり、2つ以上のプロセスを作成し、それぞれにスレッドを関連付ける場合を除き、複数のCPUプロセッサで並列実行を最大限に活用することはできません。

+0

CPUのパフォーマンスや使用率を意味しますか? –

+3

あなたはhttp://stackoverflow.com/questions/1649402/would-a-multithreaded-java-application-exploit-a-multi-core-machine-very-wellを見ましたか? – claesv

+0

私はCPU使用率を意味します。 – ajithganesan

答えて

1

はい、複数のスレッドにワークロードを分散すると、プログラムのパフォーマンスが向上します。また、応答性も向上します。

ただし、通信と同期によってオーバーヘッドが増加します。また、すべてのアルゴリズムを並列化できるわけではありません。

+0

+1:いい答えです。 –

関連する問題