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.