Junior — Middle
Puoi fare un esempio di una situazione in cui si verifica una condizione di gara in un ambiente multithread?
sobes.tech AI
Risposta dell'AI
Состояние гонки возникает, когда несколько потоков одновременно обращаются и изменяют общие данные без должной синхронизации. Например, если два потока одновременно увеличивают значение общего счетчика без использования synchronized или других механизмов блокировки, итоговое значение может быть некорректным.
Пример:
class Counter {
int count = 0;
void increment() {
count = count + 1; // неатомарная операция
}
}
// Если два потока вызовут increment() одновременно, итоговое count может увеличиться только на 1 вместо 2.