kupl_egroup_borrow
将src egroup中所有的executor资源挪动至dest egroup中。
接口定义
int kupl_egroup_borrow(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
示例
#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。
父主题: executor相关函数