kernel/async.c提供的函数

<linux/schedule.h>

typedef void (*async_func_t) (void *data, async_cookie_t cookie);

//调用ptr函数运行
//每调用一次async_schedule,就把ptr放到async_pending链表,然后开启一个内核线程来完成工作,这样实现并行
extern async_cookie_t async_schedule(async_func_t func *ptr, void *data);

//等cookie对应的函数结束
extern void async_synchronize_cookie(async_cookie_t cookie);

//等所有的函数结束
extern void async_synchronize_full(void);

实例

更多推荐

async_schedule