使用OpenMP的并行for循环指令,将函数的计算分配给不同的线程以实现并行计算。示例如下:
#include
#include
double func(double x) {
return 2 * x;
}
int main() {
double result[1000];
#pragma omp parallel for
for (int i = 0; i < 1000; i++) {
result[i] = func(i);
}
for (int i = 0; i < 1000; i++) {
printf("%f ", result[i]);
}
return 0;
}
在上述代码中,我们使用了OpenMP的“并行for循环”指令,将函数func()的计算分配给了不同的线程。这样每个线程都可以独立地计算一部分函数的值,提高了计算效率。如果使用“关键区域”指令,所有线程会一个接一个地执行,速度会变慢。
上一篇:并行请求时的空指针异常
下一篇:并行任务 vs 多进程