I am new to C++11 threading utilities. In order to execute an algorithm built from several boxes, I chose to use a mix of std::packaged_task
around my boxes, std::future
to synchronize everything and std::thread
to ensure multi threading. My schematized algorithm is:
PrepareData0 --> ProcessData0 --> InterpretData0 |
--> InterpretGlobal
PrepareData1 --> ProcessData1 --> InterpretData1 |
Since this should be an unstoppable loop to process a video, a webcam output... I try to create my tasks only once and reuse them after having their state reset using the std::packaged_task::reset
method. But it seems to fail with std::future_error
. The only choice I have at the moment is to rebuild my tasks each time I want to run my algorithm.
It seems a bit overkill to me. Is there any simple way to reuse already initialized std::packaged_task
object in threads?
Aucun commentaire:
Enregistrer un commentaire