Back to questions
Senior
7
Что такое race condition (состояние гонки)?
Companies where asked
SSP Soft
Answer from AI
sobes.tech AI
Race condition (состояние гонки) возникает, когда несколько потоков или процессов одновременно обращаются и изменяют общие данные без должной синхронизации, что приводит к непредсказуемому поведению программы.
Например, если два потока одновременно увеличивают общий счётчик без блокировок, итоговое значение может быть неверным.
Пример на Java:
class Counter {
private int count = 0;
public void increment() {
count = count + 1; // неатомарная операция
}
public int getCount() {
return count;
}
}
Если несколько потоков вызовут increment() одновременно, итоговое значение count может быть меньше ожидаемого из-за состояния гонки.
Для предотвращения используют синхронизацию, например, ключевое слово synchronized или атомарные классы из java.util.concurrent.atomic.