Junior — Middle
104
Quelles méthodes sont utilisées pour prévenir les conflits lors de l'utilisation de types de données primitifs dans un environnement multithread?
Réponse de l'IA
sobes.tech IA
Для предотвращения конфликтов при работе с примитивными типами данных в многопоточной среде в Java используют следующие методы:
-
Синхронизация (synchronized) — блокировка кода или методов, чтобы только один поток мог выполнять критическую секцию в момент времени.
-
Классы из пакета java.util.concurrent.atomic — например, AtomicInteger, AtomicBoolean, которые обеспечивают атомарные операции без явной синхронизации.
-
Volatile — ключевое слово, гарантирующее видимость изменений переменной между потоками, но не обеспечивает атомарность сложных операций.
Пример использования AtomicInteger:
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}
}
Такой подход позволяет безопасно изменять примитивные значения в многопоточной среде без блокировок.