Sobes.tech
Junior — Middle

Mi teszi az immutable objektumokat biztonságossá több szálas környezetben való használatra?

sobes.tech MI

Válasz az MI-től

A változatlan objektumok biztonságosak több szálas környezetben, mert állapotuk a létrehozás után nem változik. Ez azt jelenti, hogy több szál egyidejűleg olvashat adatokat anélkül, hogy versenyhelyzet vagy szinkronizáció szükséges lenne. Mivel az objektum nem változik, nincsenek problémák a változások láthatóságával vagy részlegesen frissített állapotokkal.

Példa egy változatlan osztályra Java-ban:

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; }
}

Ezt az objektumot biztonságosan lehet több szálon használni további szinkronizáció nélkül.