3

wait_for_completion 与 wakeup_interruptible 有何不同?

实际上问题是完成链与等待队列有何不同?对我来说它看起来是相同的概念

4

2 回答 2

0

加上哈曼的回答,我还要说这两个函数是在不同的上下文中调用的:wakeup_interruptible()唤醒所有等待 a 的线程wait_queue,而wait_for_completion()等待特定任务完成。这对我来说是两件不同的事情。

于 2012-07-28T15:43:54.260 回答
0

完成结构内部使用等待队列和锁。

引入完成结构是为了解决一个非常常见的场景,即多个线程正在等待某个事件。一旦该事件发生,您只希望一个等待线程开始运行。

这里的关键是内核开发人员不必实现和维护等待队列,这使内核开发人员的生活变得轻松。

于 2012-07-25T23:38:17.727 回答