Sobes.tech
Junior — Middle

Կարող եք տալ մի օրինակ իրավիճակի, երբ համակարգը աշխատում է սինխրոնային փոխազդեցությամբ բաղադրիչների միջև:

sobes.tech AI

Պատասխան AI-ից

Կոմպոնենտների սինխրոն փոխազդեցությունը նշանակում է, որ մեկը մյուսին է կանչում և սպասում է նրա ավարտին, նախքան շարունակել։ Java-ում դա հաճախ տեղի է ունենում մեթոդների կանչման ժամանակ, երբ կատարման հոսքը բլոկվում է մինչև արդյունքի ստացումը։

Օրինակ իրավիճակ:

Նկատենք, որ ունեք ծառայություն, որը տվյալներ է խնդրում տվյալների բազայից։ Մեթոդը, որը կատարում է հարցումը, կանչվում է սինխրոն — ծրագիրը սպասում է, մինչև տվյալները ստացվեն, և միայն դրանից հետո շարունակում է աշխատել դրանց հետ։

public String getUserName(int userId) {
    // Սինխրոն կանչ տվյալների բազային
    String name = database.queryUserNameById(userId);
    return name;
}

// Կանչ
String userName = getUserName(123); // հոսքը սպասում է արդյունքին
System.out.println(userName);

Այս օրինակով հոսքը բլոկվում է, մինչև ստանա օգտվողի անունը, ինչը սինխրոն փոխազդեցության օրինակ է։