OpenMP Sections

// 工作分区(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;
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值