Chinaunix首页 | 论坛 | 博客
  • 博客访问: 739403
  • 博文数量: 124
  • 博客积分: 3156
  • 博客等级: 中校
  • 技术积分: 1584
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-02 10:29
文章分类

全部博文(124)

文章存档

2012年(3)

2011年(2)

2010年(61)

2009年(34)

2008年(24)

我的朋友

分类: LINUX

2010-07-19 17:21:45

事件等待队列一般用于linux驱动的异步通信,也可以叫做申请设备使用权等待队列。当多个进程去操作一个设备时,这个时候一般要用到事件队列。

1、不可中断睡眠:

wait_event(queue, condition)
wait_event_interruptible(queue, condition)

两个函数只有在condition变为true才能唤醒,否则一直睡眠,即是调用wake_up()也不能唤醒。

2、可中断睡眠

wait_event_timeout(queue, condition, timeout)
wait_event_interruptible_timeout(queue, condition, timeout)

两个函数在condition变为true或wake_up_interruptible()被调用都能被唤醒。


3,唤醒函数:

void wake_up(wait_queue_head_t *queue);  //唤醒所有
void wake_up_interruptible(wait_queue_head_t *queue); //唤醒interruptible

阅读(884) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~