社区
Linux_Kernel
帖子详情
linux 内核中prepare_to_wait用法
进行中
2013-11-13 02:06:24
在看到有代码中在同一个函数中先调用prepare_to_wait,然后调用schedul()调度出去,这个线程就开始睡眠了。然后在后面的接口又调用finsh_wait()。这个线程都在睡眠,怎么能调到finish_wait()然后结束睡眠呢?还有一个prepare_to_wait没有等到条件,睡眠到什么时候为止呢???对于prepare_to_wait的用法颇为不解!!!!
...全文
641
4
打赏
收藏
linux 内核中prepare_to_wait用法
在看到有代码中在同一个函数中先调用prepare_to_wait,然后调用schedul()调度出去,这个线程就开始睡眠了。然后在后面的接口又调用finsh_wait()。这个线程都在睡眠,怎么能调到finish_wait()然后结束睡眠呢?还有一个prepare_to_wait没有等到条件,睡眠到什么时候为止呢???对于prepare_to_wait的用法颇为不解!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
进行中
2013-11-13
打赏
举报
回复
嗯,之前我看代码好像没看到有人给wake_up,所以非常纳闷!!那既然有人wake_Up了就会设置进程状态并且把它从等待队列删除,这个finish_wait是不是有点多余??? 是不是wait_event 差不多?
Carl_CCC
2013-11-13
打赏
举报
回复
是有其他的线程来wake_up。
进行中
2013-11-13
打赏
举报
回复
哦。那在使用prepare_to_wait的是时候应该还有一个类似于wake_up()在其他地方被调用来唤醒该队列里面的线程?是不是状态设为TASK_RUNNING了就可以被调度?
Carl_CCC
2013-11-13
打赏
举报
回复
调用prepare_to_wait就是吧自己加入到一个队列,我们叫他 队列A吧,并更改程序状态。这个时候呢,还工作着呢。
然后调用schedule,就开始睡眠了。
然后呢,会有一个和队列A相关的线程会来唤醒队列A中的线程,就是那个睡眠的。
醒来,就把自己重队列A里面移出来,finish_wait(),重新恢复状态为TASK_RUNNING
Linux
内核
编程:入门篇
目的只有一个:更好地理解
内核
利用
Linux
内核
中
的面向对象编程思想去分析复杂的子系统、子系统交互 利用多任务编程的思想去分析
Linux
内核
本套课程预计分为20个左右的小模块,每个模块一个专题,每个专题会陆续发布...
linux
内核
中
等待队列 (函数
wait
_event与wake_up)
等待队列用于使得进程等待某一特定事件的发生,无需频繁的轮询,进程在等待周期
中
睡眠,当时间发生后由
内核
自动唤醒。 完成量机制是基于等待队列的,
内核
利用该机制等待某一操作的结束。这两种经常被
linux
内核
任务调度--
wait
_event
linux
内核
中
经常需要进行进程的调度 struct
wait
_queue_head { spinlock_t lock; struct list_head head; }; struct
wait
_queue_head *wq_head, #define
wait
_event(wq_head, condition) \ do { \ ...
linux
等待队列详解,总结
Linux
内核
中
等待队列的
用法
今天网小编带大家一起来学习关于
Linux
内核
中
等待队列的几种
用法
,因为
Linux
内核
里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,所以下面简单总结了等待队列的四种
用法
,1. 睡眠等待某个条件发生...
Java 程序员眼里的
Linux
内核
——
wait
_event 源码分析
看
Linux
的
wait
_event 源码时,联想到我们平时经常用得比较多的
wait
/notify、double-check 和 volatile,突然意识
wait
_event 简简单单几行代码的背后,涉及的知识点其实非常丰富。本篇文章我们就一起了来探索它...
Linux_Kernel
4,441
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章