export OMP_NUM_THREADS=5
codice:
    T t {0};// Inizializzo una classe di nome `t` che contiene un membro inizializzato a 0
    #pragma omp parallel
    {
        //printf("%d", omp_get_num_threads());
        t.inc(); // Incremento il membro di uno
    }
    
    t.get(); // Stampa il valore interno di t
1) Se tolgo il commento da `printf` t.get() restituisce il valore `5`.
2) Se commento `printf` t.get() restituisce un valore arbitrario fra 3 e 5.
3) Se aggiungo `#pragma omp atomic` nel membro t.get() prima di incrementare non ho problemi e stampa sempre 5.

Come mai?