Ich habe TBB flow graph conditional execution gelesen und habe ein etwas anderes Problem.TBB Flow Graph bedingte Ausführung UND mehrere Ein- und Ausgänge
Ist es möglich, einen Knoten mit mehreren Eingängen und mehreren Ausgängen AND zu erstellen, um die Ausführung durch eine bedingte Variable zu steuern? Vielleicht ohne hässliche Würfe.
Ich habe ein einfaches Beispiel hinzugefügt, wie ich das Diagramm entwerfen möchte. Wie ist der beste Weg, um es mit TBB Flow Graph laufen zu lassen?
start_node
sendet einstart_msg
zusome_node
wenn
start_msg
leer ist,some_node
sendet eincontinue_msg
-end_node
, sonstsome_node
eincontinue_msg
an sich selbst sendet und einedata_msg
zuend_node
wenn
continue_msg
ist empfangen vonsome_node
, vorherige start_msg wird überprüft wenn es leer ist, dann wird eincontinue_msg
anend_node
gesendet, sonst wird eindata_msg
gesendet.+--continue_msg--+ | | +-----+ +-----+ | | | | +----data_msg---+ v |/ \ start_node --start_msg--> some_node end_node \ / +--continue_msg--+
Ein Problem bei der ich zu tun habe: Ich kann nicht sagen, wie viele gute Elemente innerhalb von start_msg
sind, ist auch die Größe bekannt ist (sagen wir mal start_msg
ein tbb::concurrent_vector<T>
hält Wenn some_node
schlecht findet. Element, wird es ignoriert und some_node
ist ein continue_msg
an sich selbst sendet.