2010-09-16 51 views
-2

所有mlutiple線程我們知道JVM安排在一個基於單一CPU的機器的用戶線程。爲什麼不能單個CP運行mltiple工藝/並行線程,什麼是約束停止這種能力運行在CPU

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.

+0

好吧,單核一次只能執行一條指令。 – Anycorn 2010-09-16 02:26:41

+3

@aaa鯉魚:一次一個「指令流」會更合適。大多數現代處理器可以預先執行幾條流水線指令。 – casablanca 2010-09-16 02:34:33

回答

1

傳統的單核處理器一次只能處理一條指令,這意味着它們只能在任何一個時間點的單線程中工作。

多線程支持是通過在cpu上給予線程'轉向'來合成實現的,以便它們似乎同時運行。

多核處理器可以在任何一個時間點處理每個CPU的指令。

這個問題更多的是關於CPU硬件設計,而不是編程,特別是沒有單一的語言,即Java作爲限制是全面的。

+0

討論CISC流水線? – Xailor 2010-09-16 15:31:44

2

這不是一個真正的Java問題,而是一個CPU架構問題。

而且一些CPU在每個內核中並行運行多個線程。看看英特爾和超線程技術......一個擁有8個線程的4核心機器,與您的建議相反。