OpenMP Sections

来源:互联网 发布:java 数组转字符串 编辑:程序博客网 时间:2024/06/05 23:07
// 工作分区(sections)是只利用OpenMP的sections编译指导语句,将用section            // 语句指定的内部代码,划分成多个工作区分配给线程组中的各个线程,            // 不同的section由不同的线程执行。各线程工作量的总合等于原来的            // 的工作量。这显然比并行区域所做的重复性劳动更有意义#pragma  omp parallel sections            {#pragma omp section                {                    // 如果omp块里面的语句多于一句,必须加上{},作为线程的函数体                    cout << "section 1 thread = " << omp_get_thread_num() << endl;                    // 在此处加上Sleep()只是挂起当前的线程,主线程还会继续运行                    // Sleep在此起不到同步各个线程的作用                    Sleep(10);                }               #pragma omp section                {                    cout << "section 2 thread = " << omp_get_thread_num() << endl;                    Sleep(10);                }               #pragma omp section                cout << "section 3 thread = " << omp_get_thread_num() << endl;            }
原创粉丝点击