---
title: kpccl_task_wait
description: "等待直到kpccl图中某特定的task完成。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/KunoengHPCKit_developer_034.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/KunoengHPCKit_developer_034.html
indexId: 803621ee8e18a589d4f933cd482c539dba6e7d83dcf59dd40bbf4940eb7ca2bb73
---
# kpccl_task_wait

等待直到kpccl图中某特定的task完成。

#### 接口定义

int kpccl_task_wait(kpccl_task_h task);


#### 参数


**表1 参数定义**

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| task | kpccl\_task\_h | 需要等待的特定task对象 | 输入 |


#### 示例

```
#include <stdio.h>
#include "kpccl.h"
static inline void task_str(void *args)
{
printf("task test.\n");
}
int main()
{
int executor_num = kpccl_get_num_executors();
int executors[executor_num];
for (int i =0; i < executor_num; i++) {
executors[i] = i;
}
kpccl_egroup_h egroup = kpccl_egroup_create(executors, executor_num);
kpccl_graph_h graph = kpccl_graph_create(egroup);
kpccl_task_h task = kpccl_task_create();
kpccl_task_desc_t task_desc = {
.func = task_str,
.args = nullptr,
};
kpccl_graph_add_task(graph, &task_desc, task);
kpccl_task_wait
(task);
kpccl_task_cleanup(task);
kpccl_graph_destroy(graph);
kpccl_egroup_destroy(egroup);
return 0;
}
```

运行结果如下。

```
task test.
```

上述示例演示了创建task、通过kpccl_graph_add_task函数将具体任务赋值给task、通过kpccl_task_wait等待该特定task执行完毕的流程。kpccl_task_wait函数将一直检查task状态，等待直至该task完成。
