2015-03-07 3 views
3

Я просто читал о том, как «сервер» обрабатывает несколько запросов и заканчивает работу с многопоточным Java и несколькими ядрами.Несколько ядер и java

В то время, когда компьютеры были одноядерными, а если есть два потока в java одновременно, тогда планировщик jvm позаботится о предоставлении времени каждому потоку. Таким образом, два потока никогда не работают параллельно, но используют идеальное время (например, если поток заблокирован на каком-то ресурсе).

Но это случай с несколькими ядрами и каркасом fork/join в java7? Я имею ввиду, что слышал, что с несколькими ядрами мы можем добиться параллелизма. Итак, если у меня есть два потока, два ядра и каждый поток имеют отдельное ядро ​​(это не гарантировано), то будут ли они фактически параллельными, поскольку планировщик jvm все равно приведет к временному чередованию?

Прошу прощения, если этот вопрос глуп, но я действительно не уверен в этом. Пожалуйста, помогите мне понять!

Спасибо! Ouney

+6

Планирование потоков фактически делегированы операционной системы. И да, ОС будет отправлять потоки всем своим ядрам, включая потоки Java. –

+1

В чем вопрос? Вы спрашиваете, может ли многопоточная программа Java использовать больше одного ядра на многоядерной платформе? Если это так, чисто теоретический ответ «зависит от виртуальной машины Java, но для любой _practical_ JVM ответ« да ». –

+0

@ jameslarge- Я прошу, чтобы мы достигли реального параллелизма в случае, если потоки назначены нескольким (один поток на ядро)? Я запутался, если это правда, потому что планировщик jvm все равно дает время по очереди (что указывает на то, что два потока никогда не могут работать параллельно) – Ouney

ответ

1

Проблема в том, что по-прежнему очень сложно понять, сколько потоков, ядер, ... действительно доступно.

Мое личное предложение: в информационном бюллетене java есть несколько статей, посвященных этой теме.

Например это одно: http://www.javaspecialists.eu/archive/Issue135.html

или очень новый, на «числом доступных процессоров»: http://www.javaspecialists.eu/archive/Issue220.html

Смежные вопросы