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

Какой ExecutorService будешь использовать при многопоточной работе с файлами

Для работы с файлами в многопоточной среде лучше использовать FixedThreadPool из Executors.newFixedThreadPool(n), где n – количество потоков, соответствующее количеству ядер процессора (или чуть больше). Это предотвратит перегрузку системы из-за слишком большого числа одновременных операций ввода-вывода.

Пример:

java
ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
for (File file : files) {
    executor.submit(() -> processFile(file));
}
executor.shutdown();

Особенности:

  • Фиксированное число потоков контролирует нагрузку на диск
  • FixedThreadPool эффективнее для I/O операций, чем CachedThreadPool
  • Можно добавить очередь с ограничением через ThreadPoolExecutor для контроля памяти
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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