Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Многоядерная обработка Java-программы

#java #многопоточность


Помогите разобраться с многоядерной обработкой Java-программы.

Правильно ли я понимаю, что при использовании класса Thread и интерфейса Runnable
Java-программа будет использовать многопоточность только на одном ядре центрального
процессора, при наличии других ядер?

А для реализации многоядерной обработки Java-программы необходимо использовать специализированные
Java-классы, например, Fork/Join Framework?
    


Ответы

Ответ 1



Нет, не правильно. Java уже давно использует нативные нити. А раскидкой по ядрам занимается уже сама операционная система. Так что, даже при использовании Thread и Runnable ваши нити могут быть разбросаны операционной системой по разным ядрам. Тут вообще вопрос больше концептуальный. fork - создаёт дочерний процесс, а у него внутри уже свои нити. Следовательно, fork потяжелее будет. Форкать лучше, если вы хотите запустить, по сути, копию задачи.

Комментариев нет:

Отправить комментарий