time.h :: sleep()とpthread.h :: pthread_yield()の違いについての情報を探していましたが、確かな参考資料が見つからず、この質問を投稿しています。Pthread - time.h :: sleep()とpthread.h :: pthread_yield()の違いは何ですか?
time.h :: sleep()とpthread.h :: pthread_yield()の違いは何ですか?
更新:
I)は(個々のスレッドをスリープ状態に睡眠を()を使用していた...と私のアプリケーションは、8つのスレッド対4つのスレッドがあった時に問題を抱え始めたので、私が尋ねる理由があります。 sleep()が各スレッドにのみ影響するかどうかを調べるためにオンラインになったとき、Sleep()がプロセス全体に影響を与えるか、sleep()が個々のスレッドにしか影響しないかを示すよい参考文献は見つかりませんでした。
もっと正確に言うと、 'sleep()'は常にスレッドをカーネルの実行キューから削除し、スリープ時間が終わったらスレッドをrunqueueに戻すwaitqueueにタスクを追加します。一方、 'sched_yield()'はスレッドをアクティブな実行キューから期限切れの実行キューに移動するだけです。したがって、 'sleep(0)'も 'sched_yield'とは異なります(考えているように、何もしません)。 – Nikratio