C++中素数的并行计算

   2024-10-01 3850
核心提示:在C++中实现并行计算素数可以使用多线程或并行计算框架(例如OpenMP、TBB等)。以下是一个简单的例子使用OpenMP实现并行计算素数

在C++中实现并行计算素数可以使用多线程或并行计算框架(例如OpenMP、TBB等)。以下是一个简单的例子使用OpenMP实现并行计算素数:

#include <iostream>#include <omp.h>bool isPrime(int num) {    if (num <= 1) {        return false;    }    for (int i = 2; i <= num/2; i++) {        if (num % i == 0) {            return false;        }    }    return true;}int main() {    #pragma omp parallel for    for (int i = 2; i <= 100; i++) {        if (isPrime(i)) {            #pragma omp critical            std::cout << i << " ";        }    }    return 0;}

在上面的例子中,使用#pragma omp parallel for指令并行化for循环,同时使用#pragma omp critical来保护共享资源(这里是标准输出),避免多个线程同时写入导致混乱。您可以根据需要调整上面的代码来适应您的并行计算需求。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号