Jaka jest różnica między atomową a krytyczną w OpenMP?

Jaka jest różnica między atomową a krytyczną w OpenMP? mogę to zrobić #pragma omp atomic g_qCount++; ale to nie to samo co #pragma omp