0
インテル®TBBで、私はしようとしています: 1.一連のタスクを作成します。 2. を実行させます。3.それらのいずれかが終了すると、いくつかの結果が得られ、他のものを削除します。タスクグループのインテル®TBBで単一のタスクを待って他のタスクを殺す方法はありますか?
どうすればいいですか?私は単なるではなくすべてを待つためのAPIしか見ることができません...
ありがとう。
インテル®TBBで、私はしようとしています: 1.一連のタスクを作成します。 2. を実行させます。3.それらのいずれかが終了すると、いくつかの結果が得られ、他のものを削除します。タスクグループのインテル®TBBで単一のタスクを待って他のタスクを殺す方法はありますか?
どうすればいいですか?私は単なるではなくすべてを待つためのAPIしか見ることができません...
ありがとう。
終了したタスクは、その結果を既知の場所に保存し、グループをtask::self().cancel_group_execution()
で取り消すことができます。 wait_for_all()
はブロックされなくなり、そのスレッドは既知の場所から結果をロードできます。
https://www.threadingbuildingblocks.org/docs/help/tbb_userguide/Cancellation_Without_An_Exception.htmlは、cancel_group_execution()
の使い方を示しています。