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