我有这个使用部分的 OpenMP 代码
#pragma omp parallel sections num_threads(8)
{
printf_s("Allo from thread %d\n", omp_get_thread_num());
#pragma omp section
printf_s("Bello from thread %d\n", omp_get_thread_num());
#pragma omp section
printf_s( "Cello from thread %d\n", omp_get_thread_num());
}
我得到不同类型的输出。有时只有线程 0 打印所有三行,有时不同的线程会打印。我不明白这一点,三行不应该总是从三个不同的线程中打印出来吗?