首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用并行调用的并行编程

使用并行调用的并行编程
EN

Stack Overflow用户
提问于 2017-05-04 18:31:19
回答 1查看 38关注 0票数 0

我想使用并行编程来加速这个过程。

在该类中,成员函数mainFun中有一个for循环。在每次迭代中,都会调用subFun。如何使用并行调用来并发调用subFun,以充分利用CPU的能力?

非常感谢。

代码如下:

代码语言:javascript
复制
#include <vector>
#include <ppl.h>

using namespace std;
using namespace concurrency;
typedef vector<double> Vector;
typedef vector<Vector> Matrix;

class myClass {
private:
    int num;
    Matrix a;

public:
    myClass(int n) :
        num(n), a(num, Vector(2)) {}

    Vector subFun(int n) {
        Vector b(2, 0);

        //body: to be implemented

        return b;
    }

    void mainFun() {
        for (int i = 0; i < num; i++) {

            //parallel_invoke([&a[i]] { a[i] = subFun(i); });//<-- how to implement parallel_invoke?
        }
    }


};

int main() {

    myClass A(1000);

    return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2017-05-04 18:52:51

你有没有考虑过多线程?您可以在单独的线程中调用每个函数调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43780427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档