我是靠谱客的博主 飘逸山水,最近开发中收集的这篇文章主要介绍interruptible_sleep_on_timeout()睡眠超时设定,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为什么80%的码农都做不了架构师?>>>   hot3.png

功能:使进程睡眠一定时间

原型:

#include <linux/wait.h>
long interruptible_sleep_on_timeout(wait_queue_head_t *q, long timeout);

说明: 在 q 指向的等待队列上注册当前运行中的进程信息,并使调用的进程进入睡眠状态。如果未满足苏醒条件,即使没有调用 wake_up_interruptible() 函数,只要超过设定的 timeout 值,进程也会自动苏醒。

变量: q : 等待队列变量指针。 timeout : 依赖 Hz 的进程苏醒时间。2.6 内核中以 0.001s 为单位,2.4 内核中以 0.01s 为单位。 返回值: 进程唤醒时,取决于经历多少个 Hz 的时间,返回值的时间值为正数。

但现在出现一个这样的问题

interruptible_sleep_on_timeout(Wait_queue,6000) 在没有其他函数唤醒的情况下等待6s,但是这个函数会反复计数,比如等待10s后它会返回4s,相当于一直在这个函数上阻塞执行。

转载于:https://my.oschina.net/lvyi/blog/301860

最后

以上就是飘逸山水为你收集整理的interruptible_sleep_on_timeout()睡眠超时设定的全部内容,希望文章能够帮你解决interruptible_sleep_on_timeout()睡眠超时设定所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部