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

Целесообразно ли избегать простоя при выполнении потоком I/O операций

Да, избегать простоя потоков при I/O операциях крайне важно для эффективного использования ресурсов. Блокирующие I/O операции (например, чтение файла или сетевой запрос) приводят к простою потока, что особенно критично в высоконагруженных системах.

Подходы:

  1. Асинхронные операции (NIO в Java) – позволяют потоку не блокироваться, уведомляя о завершении через колбэки.
  2. Пул потоков – если блокировка неизбежна, можно делегировать задачу отдельному потоку из пула, освобождая основной.
  3. CompletableFuture – удобная абстракция для асинхронных задач.

Пример с CompletableFuture:

java
CompletableFuture.supplyAsync(() -> {
    // Блокирующая операция (например, HTTP-запрос)
    return fetchDataFromAPI();
}).thenAccept(result -> {
    // Обработка результата в другом потоке
    System.out.println("Result: " + result);
});

Такой подход минимизирует простои, особенно в веб-приложениях.

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

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

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

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