-2

JVMが単一のCPUベースのマシンでユーザースレッドをスケジュールすることはわかっています.単一のCPが複数のプロセス/スレッドを並行して実行できないのはなぜですか,その機能を停止させる制約は何ですか

Also JVM is like a another software which is running in any machine,There may be thousands of other programs may waiting for the CPU cycle at a given time between this how JVM threads get the schedules from the CPU What is the parameter which gives the speed/possibility of the allocation of cycles for any process in any machine.

4

2 に答える 2

2

これは実際には Java の問題ではなく、CPU アーキテクチャの問題です。

また、一部の CPU は、コアごとに複数のスレッドを並行して実行します。IntelとHyperthreadingを見てください.8スレッドの4コアマシンは、あなたが提案したこととは反対のことをします。

于 2010-09-16T02:25:09.963 に答える
1

従来のシングルコア プロセッサは、一度に 1 つの命令しか処理できません。つまり、一度に 1 つのスレッドでしか動作できません。

マルチスレッドのサポートは、スレッドが同時に実行されているように見えるように、CPU でスレッドの「ターン」を与えることによって総合的に実現されます。

マルチコア プロセッサは、任意の時点で CPU ごとに命令を処理できます。

この質問は、プログラミングよりも CPU ハードウェア設計に関連しており、特に制限が全面的にあるため、Java などの単一の言語ではありません。

于 2010-09-16T02:29:14.943 に答える