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

109
27 августа 2021, 05:50

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

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

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

Answer 1

Нет, не правильно. Java уже давно использует нативные нити. А раскидкой по ядрам занимается уже сама операционная система.

Так что, даже при использовании Thread и Runnable ваши нити могут быть разбросаны операционной системой по разным ядрам.

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

READ ALSO
Как из строки сгенерировать png?

Как из строки сгенерировать png?

Есть класс, который генерирует svg (строка)Дальше эту строку я вставляю в html

89
Вернуть объект с измененным свойством - JS

Вернуть объект с измененным свойством - JS

Мне нужно найти элемент в объекте у которого есть определенное свойство , я это уже сделал вот таким кодом - result = thisstate

119
Два вопроса по редактору DraftJS

Два вопроса по редактору DraftJS

В react приложении сделан редактор DraftJSЕсть два вопроса:

117