鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

kupl_egroup_reset

重置egroup至创建时的状态。

接口定义

void kupl_egroup_reset(kupl_egroup_h group);

参数

参数名

类型

描述

输入/输出

group

kupl_egroup_h

需要重置的egroup对象,egroup为nullptr时,默认barrier全局

输入/输出

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>  
#include "kupl.h"  

int main()  
{  
    int executor_num = kupl_get_num_executors();  
    int n1 = executor_num/2;  
    int n2 = executor_num - executor_num/2; 
    int executors1[n1], executors2[n2];  
    for (int i =0; i < n1; i++) { 
        executors1[i] = i; 
    }  
    for (int i =0; i < n2; i++) { 
        executors2[i] = i + n1; 
    }  
    kupl_egroup_h egroup1 = kupl_egroup_create(executors1, n1);  
    kupl_egroup_h egroup2 = kupl_egroup_create(executors2, n2);  
    n1 = kupl_egroup_borrow(egroup1, egroup2);  
    kupl_egroup_reset(egroup1);  
    kupl_egroup_reset(egroup2); 
    kupl_egroup_destroy(egroup1);  
    kupl_egroup_destroy(egroup2);  
    return 0;  
}

上述示例演示了创建egroup1与egroup2后,通过kupl_egroup_borrow函数改变egroup1与egroup2,最终通过kupl_egroup_reset函数将egroup1与egroup2都重置为创建时的状态。