LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 978|回复: 3

超时入队问题

[复制链接]
发表于 2007-10-19 17:21:54 | 显示全部楼层 |阅读模式
现在有两个队列,一个是活动队列,一个是过期队列,每个节点在加入活动队列时有一个过期时间,现在希望当节点过期时,自动将该节点转入过期队列中,不知道要怎么实现。
具体到怎么判断过期,过期后用什么机制通知到一个进程或者线程执行将节点转入过期队列的操作。
P.S.不要采用轮询法。
记得内核的调度机制里也有相似的过程,就是将时间片用完的进程从活动数组中移动到过期数组,不过不知道具体怎么实现的,看内核代码没有找到-_-

希望大家帮忙想想,谢谢。
发表于 2007-10-25 18:32:53 | 显示全部楼层
Post by ratcj
现在有两个队列,一个是活动队列,一个是过期队列,每个节点在加入活动队列时有一个过期时间,现在希望当节点过期时,自动将该节点转入过期队列中,不知道要怎么实现。
具体到怎么判断过期,过期后用什么机制通知到一个进程或者线程执行将节点转入过期队列的操作。
P.S.不要采用轮询法。
记得内核的调度机制里也有相似的过程,就是将时间片用完的进程从活动数组中移动到过期数组,不过不知道具体怎么实现的,看内核代码没有找到-_-

希望大家帮忙想想,谢谢。
内核具体实现没看过,期待解答!!
回复 支持 反对

使用道具 举报

发表于 2007-11-6 17:05:02 | 显示全部楼层
内核是有时钟中断的,在处理时钟中断的时候会去判断当前进程的 time slice 有没有 expire
回复 支持 反对

使用道具 举报

发表于 2007-11-6 17:07:19 | 显示全部楼层
不知道可不可以为每个节点设置一个 timer 或者 event, 当 timer 到期,进行转移操作
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表