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

时间:2012-07-19 15:59:10

标签: c++ concurrency parallel-processing

我正在尝试学习如何在c ++中使用ppl.h。但是我不确定我应该在VS2010中创建什么样的解决方案才能使用它。如果我创建一个没有CLR'concurrency的Win32控制台应用程序'无法识别,如果我使用CLR创建Win32控制台应用程序,我会收到错误

  

编译/ 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;
}

1 个答案:

答案 0 :(得分:2)

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

有关详细信息,请参阅PPL example on MSDN