Встречается на собеседованиях • сегодня

Как происходит ограничение ядер

В Java можно ограничить количество используемых ядер через ForkJoinPool или ExecutorService.

  1. ForkJoinPool (параллельные стримы):
java
ForkJoinPool customPool = new ForkJoinPool(2); // ограничение до 2 ядер
customPool.submit(() -> IntStream.range(0, 100).parallel().forEach(i -> {...}));
  1. ExecutorService (фиксированный пул потоков):
java
ExecutorService executor = Executors.newFixedThreadPool(4); // максимум 4 потока
executor.submit(() -> {...});
  1. JVM аргумент (глобальное ограничение):
text
-Djava.util.concurrent.ForkJoinPool.common.parallelism=2

Важно: это ограничивает только потоки, управляемые Java, но не влияет на нативные вызовы или JVM-системные процессы. Для точного контроля CPU в Linux/Windows лучше использовать системные утилиты (cgroups, taskset и т.д.).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы