这个是没使用OpenMp的代码:50万*5000*次乘法运算 cpu占用50%也就是一个核心,耗费大概十秒#include "stdafx.h"   
#include <Windows.h>   
   
   
int _tmain(int argc, _TCHAR* argv[])   
{   
    unsigned long ticks1,ticks2;   
    ticks1 = GetTickCount();   
       
    unsigned long a=1;   
       
    for (int i = 1; i < 500000; i++)   
    {   
        for (int i = 1; i < 5000; i++)   
        {   
            a=1;   
            a=a*i;   
        }   
    }   
       
    printf("%d\n",a);   
    ticks2 = GetTickCount();   
   
    ticks1=ticks2-ticks1;   
    printf("程序经过毫秒数:%d",ticks1);   
    getchar();   
    return 0;   
}   
这个是使用OpenMp的运算。添加omp文件头将 Project 的Properties中C/C++里Language的OpenMP Support开启 在要使用openmp的地方 添加 #pragma omp parallel结果:cpu占用100%两个核心,但是耗时30秒。搞不懂呀
  
#include "stdafx.h"   
#include <Windows.h>   
#include <omp.h>   
   
   
int _tmain(int argc, _TCHAR* argv[])   
{   
    unsigned long ticks1,ticks2;   
    ticks1 = GetTickCount();   
       
    unsigned long a=1;   
     #pragma omp parallel for   
    for (int i = 1; i < 500000; i++)   
    {   
        for (int i = 1; i < 5000; i++)   
        {   
            a=1;   
            a=a*i;   
        }   
    }   
       
    printf("%d\n",a);   
    ticks2 = GetTickCount();   
   
    ticks1=ticks2-ticks1;   
    printf("程序经过毫秒数:%d",ticks1);   
    getchar();   
    return 0;   
}