Sobes.tech
Junior — Middle

Czy możesz podać przykład sytuacji, w której system działa na podstawie synchronicznej interakcji komponentów?

sobes.tech AI

Odpowiedź od AI

Skoordynowana interakcja komponentów oznacza, że jeden komponent wywołuje inny i oczekuje na jego zakończenie, zanim kontynuuje działanie. W Java często występuje to podczas wywoływania metod, gdy strumień wykonania jest blokowany do momentu uzyskania wyniku.

Przykład sytuacji:

Załóżmy, że masz serwis, który pobiera dane z bazy danych. Metoda, która wykonuje zapytanie, jest wywoływana synchronicznie — program czeka, aż dane zostaną pobrane, i dopiero potem kontynuuje pracę z nimi.

public String getUserName(int userId) {
    // Synchroniczne wywołanie do bazy danych
    String name = database.queryUserNameById(userId);
    return name;
}

// Wywołanie
String userName = getUserName(123); // wątek czeka na wynik
System.out.println(userName);

W tym przykładzie wątek jest zablokowany, dopóki nie otrzyma nazwy użytkownika, co jest przykładem synchronicznej interakcji.