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

kupl_egroup_return

src egroup向dest egroup归还executors。

接口定义

int kupl_egroup_return(kupl_egroup_h dest, kupl_egroup_h src);

参数

参数名

类型

描述

输入/输出

dest

kupl_egroup_h

被归还executor的egroup

输入/输出

src

kupl_egroup_h

需要归还executor的egroup

输入/输出

返回值

  • 成功:返回被归还executor后的dest egroup大小
  • 失败:返回KUPL_ERROR

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#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); 
    printf("egroup2 : %d executors\n", n2); 
    n1 = kupl_egroup_borrow(egroup1, egroup2); 
    n2 = kupl_egroup_return(egroup2, egroup1); 
    printf("egroup2 : %d executors\n", n2); 
    kupl_egroup_destroy(egroup1); 
    kupl_egroup_destroy(egroup2); 
    return 0; 
}

运行结果如下。

egroup2 : 2 executors
egroup2 : 4 executors

上述示例演示了创建的egroup1取用egroup2中executor后,重新向egroup2归还所有executor的流程,运行结果打印了最开始与取用、归还后egroup2中的executor数量,最终kupl_egroup_return函数将egroup1中所有executor都归还给了egroup2。