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

В чем разница между синхронной и асинхронной операцией

Синхронная операция блокирует выполнение кода до своего завершения, тогда как асинхронная позволяет продолжить выполнение программы без ожидания результата.

Пример синхронного чтения файла:

java
String content = Files.readString(Path.of("file.txt"));
System.out.println("После чтения файла");

Пример асинхронного чтения (Java 8+):

java
CompletableFuture.supplyAsync(() -> {
    try {
        return Files.readString(Path.of("file.txt"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}).thenAccept(content -> System.out.println(content));
System.out.println("После запуска асинхронной операции");

Ключевые различия:

  1. Синхронный код проще для понимания, но может привести к блокировке UI/потока
  2. Асинхронный код сложнее, но эффективнее использует ресурсы
  3. В синхронном коде порядок выполнения строго последовательный
  4. Асинхронные операции требуют механизмов обратного вызова (callbacks) или Future/Promise
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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