完成量
用于一个执行单元等待另一个执行单元执行完某事。
linux中完成量的主要操作
1,定义完成量 struct completion {
unsigned int done;
wait_queue_head_t wait;
}; struct completion my_completion;
2,初始化completion init_competion(&my_completion); 或者通过宏
完成定义并初始化 DECLARE_COMPLETION(my_completion);
3,等待一个完成量被唤醒 void wait_for_completion(struct completion * c);
4,唤醒一个等待的执行单元 void complete(struct completion * c);
释放所有等待同一完成量的执行单元 void complete_all(struct completion * c);