JVMは最初に1つのプロセスしか作成しないため、このプロセスで複数のスレッドを作成すると、複数のCPUプロセッサを搭載していると仮定してCPUのパフォーマンスが向上しますか?これは、同じプロセス内のすべてのスレッドがプロセスのリソースを共有するためです。ですから、技術的には実行は順次ですか?複数のスレッドを持つJavaシングルプロセス
つまり、2つ以上のプロセスを作成し、それぞれにスレッドを関連付ける場合を除き、複数のCPUプロセッサで並列実行を最大限に活用することはできません。
JVMは最初に1つのプロセスしか作成しないため、このプロセスで複数のスレッドを作成すると、複数のCPUプロセッサを搭載していると仮定してCPUのパフォーマンスが向上しますか?これは、同じプロセス内のすべてのスレッドがプロセスのリソースを共有するためです。ですから、技術的には実行は順次ですか?複数のスレッドを持つJavaシングルプロセス
つまり、2つ以上のプロセスを作成し、それぞれにスレッドを関連付ける場合を除き、複数のCPUプロセッサで並列実行を最大限に活用することはできません。
はい、複数のスレッドにワークロードを分散すると、プログラムのパフォーマンスが向上します。また、応答性も向上します。
ただし、通信と同期によってオーバーヘッドが増加します。また、すべてのアルゴリズムを並列化できるわけではありません。
+1:いい答えです。 –
CPUのパフォーマンスや使用率を意味しますか? –
あなたはhttp://stackoverflow.com/questions/1649402/would-a-multithreaded-java-application-exploit-a-multi-core-machine-very-wellを見ましたか? – claesv
私はCPU使用率を意味します。 – ajithganesan