私は現在、OOPで空港を設計するプロジェクトに取り組んでいます。私はC++を使用しています。私は飛行機が上陸できる滑走路の番号を割り当てるRequestLanding()関数を持っている私のプログラム内の主要なAirportオブジェクトを持っています。この関数は、2つの列挙型のうちの1つ、つまり、飛行機が着陸するかどうかを示すHoldまたはProceedを返します。Openmpスレッドスリープ
外部からは、着陸要求を行う飛行機のオブジェクトが多数あります。私は飛行機のオブジェクトの総数のためにループを使用しています。私は並列ループにOpenMpを使用しています。 RequestLanding()関数が状態ホールドを返してから再度試して、3秒間openmpスリープスレッドを作成したかったのです。
これを行う方法はありますか?誰かが簡単な例を提供できますか?前もって感謝します。
スリープよりも「yield」ラフターを使用しないのはなぜですか? – user0042
@ user0042あなたは 'std :: this_thread :: yield'を意味すると仮定します。 Linuxでは 'sched_yield'にマップされ、' sched_yield'は厳密なループで呼び出されるのには絶対に適さない方法で実装されます。 https://stackoverflow.com/q/6807929/620382も参照してください。 – Zulan