Linux内核wait,进程调度 – Linux内核API wait_for_completion

wait_for_completion函数功能描述:此函数用于阻塞当前进程,等待其他进程的执行结束,被等待进程保存在输入参数的wait字段所代表的等待队列中,只有当等待队列中的进程被函数complete( )或complete_all( )唤醒之后,等待才有可能结束,当前的进程才能够继续执行,否则会一直等待。

此函数将当前进程置于不可中断的等待状态,所以等待不能够强制结束,并且等待的时间是MAX_SCHEDULE_TIMEOUT个系统时钟节拍,这是一个很长的时钟节拍,几乎是不会因等待超时而结束的。

wait_for_completion文件包含

#include

wait_for_completion函数定义

在内核源码中的位置:linux-3.19.3/kernel/sched/completion.c

函数定义格式:

void wait_for_completion(struct completion *)

wait_for_completion输入参数说明

此函数的输入参数是struct completion结构体类型的指针,包含一个等待队列信息及等待队列的状态信息,等待队列的状态代表此等待队列是否被唤醒过,其定义及详细解释参考函数complete( )输入参数说明部分。

wait_for_completion返回参数说明

此函数的返回结果是void类型的变量,即不返回任何类型的结果。

wait_for_completion实例解析

编写测试文件:wait_for_completion.c

头文件引用及全局变量定义:

/*头文件引用*/

#inc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值