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

kupl_graph_wait

等待直到kupl图中的所有task都完成。

接口定义

void kupl_graph_wait(kupl_graph_h graph);

参数

表1 参数定义

参数名

类型

描述

输入/输出

graph

kupl_graph_h

需要等待执行其中task的kupl graph

输入

示例

 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
26
27
28
29
30
31
32
33
#include <stdio.h> 
#include "kupl.h" 

static inline void task_str(void *args)
{
         printf("graph task test.\n");
}

int main() 
{ 
         int executor_num = kupl_get_num_executors(); 
         int executors[executor_num]; 
         for (int i =0; i < executor_num; i++) {
             executors[i] = i;
         } 
         kupl_egroup_h egroup = kupl_egroup_create(executors, executor_num);
         kupl_graph_h graph = kupl_graph_create(egroup); 
         kupl_task_desc_t task_desc = {
             .func = task_str,
             .args = NULL,
         };
         kupl_task_info_t info = {
             .type = KUPL_TASK_TYPE_SINGLE,
             .desc = &task_desc,
         };
          
         kupl_graph_submit(graph, &info);
         
         kupl_graph_wait(graph);
         kupl_graph_destroy(graph);
         kupl_egroup_destroy(egroup);
         return 0;         
}

运行结果如下。

graph task test.

上述示例演示了向graph图提交task、并等待直到graph图的全部task执行完成的流程。上述 kupl_graph_wait函数等待graph图中所有task都执行完成,才继续往下执行。