开发者社区> 问答> 正文

Linux内核常用API互斥与同步中完成量的相关代码是什么?

Linux内核常用API互斥与同步中完成量的相关代码是什么?

展开
收起
去校区学技术 2022-04-02 19:42:18 5067 0
1 条回答
写回答
取消 提交回答
  • 亚马逊云科技合作伙伴解决方案架构师,亚马逊云科技User Group Leader,多年云计算经验,csdn/阿里云等平台优质作者,亚马逊云科技社区建设者,亚马逊云科技培训与认证云领袖合作作者,专注于云计算、云原生领域。

    1.定义、初始化 #include <linux/completion.h>
    struct completion compeltion_zj; init_completion(&compeltion_zj); DECLARE_COMPLETION(compeltion_zj); //这个宏可用来快速执行重新初始化: INIT_COMPLETION(compeltion_zj);

    2.等待完成量 等待一个完成量被唤醒 void wait_for_completion(struct completion *c);

    3.唤醒完成量 //前者只唤醒一个等待的执行单元 void completion(struct completion *c); //释放所有等待同意完成量的执行单元 void completion_all(struct completion *c);

    完成量用于同步,实现顺序执行: 执行单元A 执行单元B struct completion com;
    init_completion(&com); 代码区域c 代码区域a
    wait_for_completion(&com); <---------激活------ completion(&com);

    2022-05-17 23:26:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载