Difference between static and dynamic schedule in OpenMP in C
问题 I've got two similar codes. First #pragma omp parallel for shared(g) private(i) schedule(dynamic, 1) for(i = (*g).actualNumberOfChromosomes; i < (*g).maxNumberOfChromosomes; i++) { AddCrossoverChromosome(g, i); // it doesnt change actualNumberOfChromosomes #pragma omp atomic (*g).actualNumberOfChromosomes++; } Second #pragma omp parallel for shared(g) private(i) schedule(static, 1) for(i = (*g).actualNumberOfChromosomes; i < (*g).maxNumberOfChromosomes; i++) { AddCrossoverChromosome(g, i); //