c++ - 使用并行模式库 (ppl.h)

标签 c++ concurrency parallel-processing

我正在尝试学习如何在 C++ 中使用 ppl.h 。但我不确定我应该在 VS2010 中创建什么样的解决方案来使用它。如果我创建一个没有 CLR 的 Win32 控制台应用程序,则无法识别“并发”,如果我使用 CLR 创建 Win32 控制台应用程序,我会收到一条错误消息

Concurrency Runtime is not supported when compiling /clr.

#include "stdafx.h"
#include <ppl.h>
using namespace System;
void BubbleSort(int* input, int n)
{
    concurrency::parallel_for(0,n,[=](int y)
    {
        for(int k = 0; k< n - 1 -y; k++)
        {
            if(input[k]> input[k+1])
            {
                auto temp = input[k+1];
                input[k+1] = input[k];
                input[k] = temp;
            }
        }
    }
}
int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Hello World");


    return 0;
}

最佳答案

您可以创建一个 Win32 控制台应用程序(无 CLR)。一旦你#include <ppl.h>Concurrency命名空间应该可用。请注意,它是 Concurrency::parallel_for (大写“C”)。

详情请参阅PPL example on MSDN .

关于c++ - 使用并行模式库 (ppl.h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564749/

相关文章:

r - 如何在 purrr::pmap 中 fork /并行化进程

c++ - 为什么我不能 std::partition 这个 std::unordered_map?

c++ - boost 是否有可移植的方式来使用 ntohl/htonl/ntohs/htons 类型的函数?

c++ - 我如何预测可能会发生严重的内存碎片问题?

c++ - Raymond Chen 的单例实现使用狡猾的转换?

android - Jetpack 撰写 : calling action inside LauchedEffect blocks UI anyway

c++ - 用于线程间通信的 volatile 和 mutex

node.js - 并发如何在 nodejs 中工作?

asp.net-mvc - MVC3 AsyncController - 执行同步 I/O 任务

python - 在没有输入的情况下使用 GNU 并行生成 n 个工作线程