Quelle est la différence entre atomique et critique dans OpenMP?

Quelle est la différence entre atomique et critique dans OpenMP? je peux le faire #pragma omp atomic g_qCount++; mais n'est-ce pas la même chose que #pragma omp critical g_qCount++;