Junior — Middle
Pouvez-vous donner un exemple de situation où une condition de course se produit dans un environnement multithread ?
sobes.tech IA
Réponse de l'IA
Состояние гонки возникает, когда несколько потоков одновременно обращаются и изменяют общие данные без должной синхронизации. Например, если два потока одновременно увеличивают значение общего счетчика без использования synchronized или других механизмов блокировки, итоговое значение может быть некорректным.
Пример:
class Counter {
int count = 0;
void increment() {
count = count + 1; // неатомарная операция
}
}
// Если два потока вызовут increment() одновременно, итоговое count может увеличиться только на 1 вместо 2.