Sobes.tech
Middle

Чӣ гуна роҳҳои дигар барои мубориза бо рақобати сӯрохиҳо, ба ғайр аз истифодаи калимаи калидии volatile, вуҷуд доранд?

sobes.tech AI

Ҷавоб аз AI

Мутекси (синхронизирани блокове или функции, Lock API), атомарни променливи (AtomicInteger, AtomicBoolean и др.), семафори, монитори, канали (за пренос на данни между нишки), и използване на структури от данни, безопасни за паралелен достъп (например, ConcurrentHashMap, CopyOnWriteArrayList).

// Пример с синхронизирана блок
private final Object lock = new Object();
private int count = 0;

public void increment() {
    synchronized (lock) {
        count++;
    }
}
// Пример с AtomicInteger
private final java.util.concurrent.atomic.AtomicInteger atomicCount = new java.util.concurrent.atomic.AtomicInteger(0);

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