views:

94

answers:

2

Hi,

All we know that JVM schedules the user threads in a single CPU based machine .Why cant a single CP run mltiple process/threads in parallel,What is the constrain stops that capability

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.

+2  A: 

This is not really a Java question, but a cpu architecture question.

And some CPUs DO run multiple threads in parallel per core. Look at Intel and Hyperthreading.. a 4 core machine with 8 threads, does the opposite of what you suggest.

bwawok
+1  A: 

traditional single-core processors can only process one instruction at a time, meaning that they can only work in a single thread at any one point in time.

multithread support is achieved synthetically by giving threads 'turns' on the cpu so that they appear to be running concurrently.

multi-core processors can process an instruction per CPU at any one point in time.

this question is more in relation to CPU hardware design than programming and especially not a single language ie java as the restriction is across the board.

pstanton
Discuss CISC pipelining?
Xepoch