"Spiega cos'è una condizione di gara in un programma informatico."
Una condizione di gara è una situazione in cui l'output o il risultato di un programma dipende dal timing o dall'ordine di esecuzione di determinate parti del programma. Si verifica quando due o più thread o processi stanno leggendo o scrivendo sulla stessa risorsa, e l'esito del programma dipende da quale thread finisce per primo. Ad esempio, se il Thread A legge un valore dalla memoria, lo aggiorna e poi lo scrive di nuovo, mentre il Thread B legge anche lo stesso valore, lo aggiorna e poi scrive il proprio valore aggiornato, entrambi i thread possono essere in gara per scrivere il loro nuovo valore per primo, risultando in un esito inaspettato per il programma.