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

В чем разница между асинхронностью и синхронностью

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

Ключевые отличия:

  • Синхронный: простота, предсказуемость, но может приводить к простоям
  • Асинхронный: эффективнее использует ресурсы, но сложнее в отладке

Пример синхронного кода:

java
void syncMethod() {
    System.out.println("Start");
    longTask(); // блокирует выполнение
    System.out.println("End"); 
}

Пример асинхронного (с CompletableFuture):

java
void asyncMethod() {
    System.out.println("Start");
    CompletableFuture.runAsync(this::longTask);
    System.out.println("End"); // выполнится сразу
}

В Java асинхронность реализуется через потоки, Future, CompletableFuture, реактивные стримы. Выбор зависит от требований к производительности и сложности кода.

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

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

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

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