Sobes.tech
Junior — Middle

Magyarázza el a synchronized kulcsszó működési elvét Java-ban és hatását az adatok szálbiztonságára.

sobes.tech MI

Válasz az MI-től

A synchronized kulcsszó Java-ban az erőforrásokhoz való hozzáférés szálbiztonságának biztosítására szolgál. Lefoglalja az objektum monitorját, így csak egy szál hajthat végre kódot a synchronized-nel jelölt blokk vagy metóduson belül.

Ez megakadályozza, hogy több szál egyidejűleg módosítsa az adatokat, ami versenyhelyzetekhez és helytelen eredményekhez vezethet.

Példa:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized int getCount() {
        return count;
    }
}

Ebben a példában az increment és a getCount metódusok szinkronizáltak, így a count módosításai és olvasása atomikus és biztonságos több szálas környezetben.