3

wait_for_completion は wakeup_interruptible とどう違うのですか?

実際問題は、完了チェーンが待機キューとどのように異なるかということです。私には同じコンセプトに見えます

4

2 に答える 2

0

ハーマンの答えに加えて、これら2つの関数は異なるコンテキストで呼び出されます。つまり、待機中のすべてのスレッドwakeup_interruptible()ウェイクアップし、特定のタスクが完了するまで待機します。これらは私にとって2つの異なるものです。wait_queuewait_for_completion()

于 2012-07-28T15:43:54.260 に答える
0

完了構造は、待機キューとロックを内部的に使用します。

複数のスレッドが何らかのイベントを待機しているという非常に一般的な発生シナリオに対処するために、完了構造が導入されました。そのイベントが発生したら、待機中のスレッドの 1 つだけが実行を開始するようにします。

ここで重要なのは、カーネル開発者が待機キューを実装して維持する必要がないことです。これにより、カーネル開発者の生活が楽になります。

于 2012-07-25T23:38:17.727 に答える