北航游戏网:本站主要提供海量正版软件本地纯净,安全,无捆绑软件下载服务,热门软件和游戏应有尽有,每天更新大量精品手游及绿色软件!
网站地图
你的位置: 首页 > 游戏资讯 > 操作系统

linux驱动同步与互斥

  • 2023-08-17 05:08:29
  • 来源:互联网
  • 在手机上看

    扫一扫立即进入手机端

  事件等待队列一般用于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

手机游戏排行榜