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。
父主题: executor相关函数