0
点赞
收藏
分享

微信扫一扫

从0开始学统计-什么是中心极限定理

等待队列(WaitQueue)

文章目录


本文将详细介绍如果在Linux内核驱动中使用等待队列(WaitQueue)。

1、等待队列介绍

当您编写 Linux 驱动程序或模块或内核程序时,某些进程应该等待或休眠某些事件。 在 Linux 中有几种处理睡眠和唤醒的方法,每种方法适合不同的需要。 等待队列也是处理这种情况的方法之一。

每当进程必须等待事件(例如数据到达或进程终止)时,它就应该进入睡眠状态。 休眠导致进程暂停执行,释放处理器以供其他用途。 一段时间后,进程将被唤醒,并在我们等待的事件到达时继续其工作。

等待队列是内核提供的一种实现等待的机制。 顾名思义,waitqueue 是等待事件的进程列表。 换句话说,等待队列用于等待某个事件在某个条件为真时将其唤醒。 必须小心使用它们以确保没有竞争条件

2、等待队列初始化

Wait Queue在linux/wait.h头文件中定义。初始化等待队列有两种方法:

  • 静态初始化
  • 动态初始化

2.1 静态初始化

等待队列的静态初始化方法非常简单:

举报

相关推荐

0 条评论