Что делает jvm для использования ресурсов многоядерного процессора?

Обычно Java-программа выполняется с одним процессом под названием "javaw». И когда я запускаю один процесс, я могу получить только максимальный ресурс одного ядра (многоядерных). Но когда я запускаю многопоточную программу в jvm, количество используемых ей ядер соответствует количеству потоков, которое может сделать не один процесс. Так может кто-нибудь дать мне некоторую информацию о том, как jvm справляется с многопоточными программами на многоядерном процессоре?

/**
* I run this program in my machine which has 8 core cpu
* and the jre is 1.6.0_24
* How does jvm use one process to use all the cpu resources?        
*/

public class MultiCoreUseTest implements Runnable{
@Override
public void run() {

    int i;
    while(true)
         i =1;
}

public static void main(String[] args) {

    //create 8 threads
            //8 threads the usage of cpu is 100%
            // if 4 threads the usage of cpu is 50%
    for(int i = 0; i

Ответы на вопрос(1)

Ваш ответ на вопрос