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