18

プログラムのパフォーマンスをチェックしようとしています。この投稿を参照して、OSレベルのシステム情報を取得します。実行すると、 4Runtime.availableProcessors()の答えが得られます。availableProcessors()を読みましたが、このメソッドがプロセッサの数を返すことを示しています

  1. プロセッサの数の意味を誰かが説明できますか?
  2. 結果として4を取得するのはなぜですか?

私はWindows7コアi54gpを使用しています。

4

5 に答える 5

28

読んだように、availableProcessors()はを返すメソッドですnumber of processors available to the JVM4は、JVMで現在使用可能なプロセッサの数を意味します。

これらの行はnumber of logical cores、Windowsおよびその他のオペレーティングシステムでを返します。

ハイパースレッディングをサポートするクアッドコアCorei7を搭載したコンピューターでは、8が返されます。

クアッドコアQ6700を搭載したコンピューターでは、このメソッドは4を返します。

于 2012-08-09T06:38:34.243 に答える
21

プロセッサの数は、基本的にコードを実行できる実行エンジンの数です。i5のバリエーションの1つは、4コアCPUであるi5-7シリーズです。これらは、物理的に異なるプロセッサ(同じチップ内に存在する場合でも)である場合もあれば、ハイパースレッディングを使用している場合は論理プロセッサである場合もあります。

詳細については、 http://en.wikipedia.org/wiki/Intel_Core#Core_i5およびhttp://en.wikipedia.org/wiki/Hyper-threadingを参照してください。

于 2012-08-09T06:39:21.523 に答える
3

あなたはマルチコアプロセッサを持っています(あなたの場合、それはリンフィールドのように見えます)。各コアは他のコアと同時に命令を実行できるため、各コアは情報の目的で個別のCPU(個別のプロセッサ)としてカウントされます。

于 2012-08-09T06:37:41.687 に答える
3

jvmプロセスで使用できるコアは提供されません。ハイパースレッディングが有効になっている場合は、実際よりも大きくなる可能性があります。

于 2012-08-09T06:38:56.177 に答える
0

このコンテキストでは、「プロセッサ」は「独立して実行できるハードウェア」、つまりCPUコアです。

これは「プロセッサパッケージ」ではありません。購入する単一のハードウェアユニット(実際には、1つのパッケージに4つの独立したCPUが含まれています)

于 2012-08-09T06:43:58.250 に答える