Sobes.tech
Middle

Milyen más módszerek vannak a szálak versenyhelyzetének kezelésére a volatile kulcsszó használata mellett?

sobes.tech MI

Válasz az MI-től

Mutekszok (szinkronizált blokkok vagy függvények, Lock API), atom változók (AtomicInteger, AtomicBoolean stb.), szemaforok, monitorok, csatornák (az adatok átviteléhez szálak között), és párhuzamos hozzáférésre biztonságos adatszerkezetek használata (például, ConcurrentHashMap, CopyOnWriteArrayList).

// Példa szinkronizált blokkal
private final Object lock = new Object();
private int count = 0;

public void increment() {
    synchronized (lock) {
        count++;
    }
}
// AtomicInteger példával
private final java.util.concurrent.atomic.AtomicInteger atomicCount = new java.util.concurrent.atomic.AtomicInteger(0);

public void incrementAtomic() {
    atomicCount.incrementAndGet();
}