2010-09-16 28 views
-2

Tout ce que nous savons que les horaires JVM les threads utilisateur dans une seule machine à base de processeur .Pourquoi cant un seul passage CP processus mltiple/threads en parallèle, Qu'est-ce que la contrainte cesse que la capacitéexécution de threads mlutiple dans 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

bien, un seul noyau peut seulement faire une instruction à la fois. – Anycorn

+3

@aaa carp: Un "flux d'instructions" à la fois serait plus approprié. La plupart des processeurs modernes peuvent exécuter plusieurs instructions pipelined à l'avance. – casablanca

Répondre

1

Les processeurs mono-cœur traditionnels ne peuvent traiter qu'une seule instruction à la fois, ce qui signifie qu'ils ne peuvent fonctionner que dans un seul thread à un moment donné. La prise en charge multithread est obtenue de manière synthétique en donnant des 'threads' aux threads sur le CPU de sorte qu'ils semblent fonctionner simultanément.

Les processeurs multi-cœurs peuvent traiter une instruction par CPU à un instant donné. Cette question est plus en rapport avec la conception de matériel CPU que la programmation et en particulier pas un seul langage, c'est-à-dire java car la restriction est transversale.

+0

Discuter de la canalisation CISC? – Xailor

2

Ce n'est pas vraiment une question de Java, mais une question d'architecture de cpu.

Et certains processeurs exécutent plusieurs threads en parallèle par cœur. Regardez Intel et Hyperthreading .. une machine 4 core avec 8 threads, fait le contraire de ce que vous suggérez.