Sobes.tech
Junior — Middle
101

Senkron çağrıları ile asenkron çağrıları nasıl ayırt ederiz ve bunların temel farkları nelerdir?

Sorulan şirketler
СБЕР дейвайсыСБЕР дейвайсы

AI'dan gelen yanıt

sobes.tech yapay zeka

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

Пример на Java с использованием CompletableFuture:

import java.util.concurrent.*;

public class AsyncExample {
    public static void main(String[] args) throws Exception {
        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
            // имитация долгой операции
            try { Thread.sleep(1000); } catch (InterruptedException e) {}
            return "Результат";
        });

        System.out.println("Ожидание результата...");
        // здесь можно выполнять другие задачи

        // получение результата (блокирует, если результат еще не готов)
        String result = future.get();
        System.out.println("Получено: " + result);
    }
}

В этом примере асинхронный вызов позволяет не блокировать главный поток, пока выполняется долгий процесс.