Junior — Middle
Ինչ է դարձնում անփոփոխ օբյեկտները անվտանգ բազմատողային միջավայրում օգտագործելու համար?
sobes.tech AI
Պատասխան AI-ից
Անփոփոխ օբյեկտները անվտանգ են բազմամյա միջավայրում, քանի որ նրանց վիճակը չի փոխվում ստեղծելուց հետո։ Սա նշանակում է, որ մի քանի թել կարող են միաժամանակ ընթերցել տվյալները առանց մրցակցության պայմանների կամ սինխրոնիզացիայի անհրաժեշտության։ Քանի որ օբյեկտը չի փոխվում, խնդիրներ չկան փոփոխությունների տեսանելիության կամ մասամբ թարմացված վիճակի հետ։
Java-ում անփոփոխ դասի օրինակ՝
public final class ImmutablePoint {
private final int x;
private final int y;
public ImmutablePoint(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() { return x; }
public int getY() { return y; }
}
Այսպիսի օբյեկտը կարող է անվտանգ օգտագործվել մի քանի թելերով առանց լրացուցիչ սինխրոնիզացիայի։