1.OpenMP的简单使用
OpenMP可以用来并行计算for循环,提高程序运行速度。
首先要打开OpenMP支持:“配置属性”——“C/C++”——“语言”——“1.OpenMP支持”后选择“是”。
1 omp_get_num_procs() //获取系统中处理器的个数 2 omp_set_num_threads(num_count) //设置线程数 3 omp_get_thread_num() //获取当前线程的Id号
用法1:
1 #pragma omp parallel 2 { 3 //每个线程都会执行大括号里的代码 4 //并行的线程数由系统决定 5 } 6 //指定执行代码块的线程数 7 omp_set_num_threads(4);//设置线程数,需要包含头文件<omp.h> 8 #pragma omp parallel 9 或者 10 #pragma omp parallel num_threads(4)//在parallel后直接增加线程子句 11 { 12 //执行该代码块的线程数为4 13 }
例子1:
1 #include <iostream> 2 #include "omp.h" 3 using namespace std; 4 int main() 5 { 6 omp_set_num_threads(4);//设置线程数 7 #pragma omp parallel 8 { 9 //cout << "hello ,threads" << omp_get_thread_num() << endl;//cout打印格式混乱 10 printf("I am Thread %d\n", omp_get_thread_num()); 11 } 12 system("pause"); 13 return 0; 14 }