锁(三) 完成量

来源:互联网 发布:淘宝网蓝月亮洗衣液 编辑:程序博客网 时间:2024/05/24 15:42

完成量

用于一个执行单元等待另一个执行单元执行完某事。

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);


0 0
原创粉丝点击