Junior — Middle
103
Statik yöntemleri kullanırken çoklu iş parçacığı güvenliği nasıl sağlanır?
Sorulan şirketler
DCloud
AI'dan gelen yanıt
sobes.tech yapay zeka
Потокобезопасность статических методов в Java не гарантируется автоматически, так как статический метод — это просто метод, связанный с классом, а не с экземпляром. Если статический метод изменяет общие (статические) данные, необходимо самостоятельно обеспечить синхронизацию.
Для этого можно использовать:
- Ключевое слово
synchronizedдля метода или блока кода внутри метода, чтобы обеспечить эксклюзивный доступ. - Использование потокобезопасных структур данных (например,
ConcurrentHashMap). - Иммутабельные объекты, чтобы избежать состояния, изменяемого несколькими потоками.
Пример синхронизации статического метода:
public class Counter {
private static int count = 0;
public static synchronized void increment() {
count++;
}
public static int getCount() {
return count;
}
}
Здесь increment потокобезопасен, так как метод синхронизирован.