锁(三) 完成量

xiaoxiao2021-02-27  337

完成量

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

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

转载请注明原文地址: https://www.6miu.com/read-6011.html

最新回复(0)