---
title: kupl_egroup_borrow
description: "将src egroup中所有的executor资源移动至dest egroup中。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_026.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_026.html
indexId: 2bb425fd97f37cab5965ac5926e208e976ca1071560bfd6d4774f3031edbdc8e67
---
# kupl_egroup_borrow

将src egroup中所有的executor资源移动至dest egroup中。

#### 接口定义

int kupl_egroup_borrow(kupl_egroup_h dest, kupl_egroup_h src);


#### 参数


**表1 参数定义**

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| dest | kupl\_egroup\_h | 需要取用executor的egroup | 输入/输出 |
| src | kupl\_egroup\_h | 给出executor的egroup | 输入/输出 |


#### 返回值

- 成功：返回取用executor后的dest egroup大小
- 失败：返回KUPL_ERROR


#### 示例

```
#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("egroup1 : %d executors\n", n1); 
    n1 = kupl_egroup_borrow(egroup1, egroup2); 
    printf("egroup1 : %d executors\n", n1); 
    kupl_egroup_destroy(egroup1); 
    kupl_egroup_destroy(egroup2); 
    return 0; 
}
```

运行结果如下。

```
egroup1 : 2 executors
egroup1 : 4 executors
```

上述示例演示了创建的egroup1取用egroup2中所有的executor的流程，运行结果打印了取用前与取用后egroup1中的executor数量，由此可见kupl_egroup_borrow函数使egroup1取用了egroup2的所有executors。
