# Esempio di Race Condition in C

```c
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

int counter = 0;  // variabile condivisa

void* incrementa(void* arg) {
    for (int i = 0; i < 100000; i++) {
        counter++;  // operazione NON atomica!
    }
    return NULL;
}

int main() {
    pthread_t t1, t2;
    
    pthread_create(&t1, NULL, incrementa, NULL);
    pthread_create(&t2, NULL, incrementa,