Sobes.tech
Junior — Middle

Können Sie ein Beispiel für eine Situation geben, in der eine Race Condition in einer Multithread-Umgebung auftritt?

sobes.tech KI

Antwort von AI

Состояние гонки возникает, когда несколько потоков одновременно обращаются и изменяют общие данные без должной синхронизации. Например, если два потока одновременно увеличивают значение общего счетчика без использования synchronized или других механизмов блокировки, итоговое значение может быть некорректным.

Пример:

class Counter {
    int count = 0;

    void increment() {
        count = count + 1; // неатомарная операция
    }
}

// Если два потока вызовут increment() одновременно, итоговое count может увеличиться только на 1 вместо 2.