我有几个类,每个类都是运算符的子类。操作员有多个输入和输出,各种类型:图像、数字、字符串。每个子类都实现了一个执行计算的 run() 方法。现在我想为这些 Operator 设计一个容器,将简单的 Operator 变成更大的 Operator。容器应该尽可能高效,所以我打算使用线程。我在 Boost 图形库中找到了一个示例,该示例允许我计算我应该进行计算的顺序:http: //www.boost.org/doc/libs/1_49_0/libs/graph/doc/file_dependency_example.html,但我认为可能有更好的方法来做到这一点:每个操作员都可以在阻塞状态下等待,直到其所有输入都准备好。如果容器子类化 Operator 会很好,允许递归地组合它们。我有一种感觉,这是一种已知的设计模式。
问问题
156 次
2 回答
0
我找到了一个符合我描述的设计模式:复合模式。
复合模式描述了一组对象将以与对象的单个实例相同的方式处理。
于 2012-10-29T10:28:55.927 回答
0
也许你可以使用 TBB 的流程图?
于 2012-04-01T21:44:32.267 回答