kupl_queue_submit
向 queue 提交需要执行的 item
接口定义
int kupl_queue_submit(kupl_queue_h queue, kupl_queue_item_desc_t *desc);
参数
参数名  | 
类型  | 
描述  | 
输入/输出  | 
|---|---|---|---|
queue  | 
kupl_queue_h  | 
执行 item 的 queue  | 
输入  | 
desc  | 
kupl_queue_item_desc_t  | 
queue_item 的描述  | 
输入  | 
参数名  | 
类型  | 
描述  | 
|---|---|---|
func  | 
kupl_queue_item_func_t  | 
queue_item 的函数指针  | 
args  | 
void *  | 
queue_item 的参数  | 
name  | 
const char *  | 
queue_item 的名字  | 
kupl_queue_item_func_t 的定义
void (*kupl_queue_item_func_t)(void *args);
返回值
成功:返回 KUPL_OK
失败:返回 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  | #include <stdio.h> #include <assert.h> #include "kupl.h" static inline void kernel_func(void *args) { printf("kernel exec.\n"); } int main() { kupl_queue_h queue = kupl_queue_create(); kupl_queue_item_desc_t desc = { .func = kernel_func, .args = NULL, .name = "kernel_name" }; int ret = kupl_queue_submit(queue, &desc); assert(ret == KUPL_OK); kupl_queue_wait(queue); kupl_queue_destroy(queue); return 0; }  | 
运行结果如下。
kernel exec.
 上述示例演示了向 queue 提交 kernel,并等待直到 queue 上全部 kernel 执行完成的流程。上述kupl_queue_submit 函数向 queue 上提交需要执行的 kernel。
父主题: 多队列多流编程函数