c - 为什么以下包含有序 "construct"的 openmp 代码不执行?

标签 c multithreading parallel-processing openmp sleep

我正在尝试执行以下代码, 虽然我知道“语法上”有序的构造应该出现在 for 循环中, 但为什么代码会卡在有序子句中 即执行应该立即给我一个“语法错误”。

omp_set_num_threads(11);
#pragma omp parallel
{

// 1

 #pragma omp ordered
{
  printf("\n%d ",omp_get_thread_num());//this statement is not getting executed
}//ordered omp pragma

}//parallel omp pragma

//1处的打印语句成功 我什至尝试删除 ompgetthreadnum() 但仍然无济于事。

最佳答案

#pragma ompordered 只能出现在#pragma omp forordered 构造中。

Source

关于c - 为什么以下包含有序 "construct"的 openmp 代码不执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171334/

相关文章:

c - gmp库的mdi_init的C实现

python - MPI4Py 分散 sendbuf 参数类型?

c# - 我可以在 get 访问器中锁定集合吗?

linux - 读取变量会搞砸吗?

c - c11 中的多线程支持

java - 我应该如何并行化计算成本高昂的 for 循环并整理迭代结果?

.net - 无限并行功能

c - 为什么返回地址之前是 "NOP-Block"和Shellcode?

c - 由于 scanf 函数,C 程序中的输出不令人满意

c - 函数重载在 C 中有效吗?