Closed weinaike closed 4 months ago
数据 std::shared_ptr meta, 在各个节点间流转。如果流程存在分支 例如Node1 --> Node2 -->Node4 Node1-->Node3-->Node4. 这种结构, Node2 Node3 可能同时获得meta数据,而每个节点内不仅对meta读取,还对写meta所指向对象vp_frame_meta的内容,包括添加新的处理结果。这种可能引起同时操作vp_frame_meta的情况。是否存在这种多线程安全的问题?
这种结构,如果需要并行写入,需要使用深拷贝模式
若需要对各分支结果汇总分析,框架该如何支持?
参见 sync 相关的samples: https://github.com/sherlockchou86/VideoPipe/blob/master/samples/1-N-1_sample.cpp https://github.com/sherlockchou86/VideoPipe/blob/master/samples/1-N-1_sample2.cpp https://github.com/sherlockchou86/VideoPipe/blob/master/samples/1-N-1_sample3.cpp
数据 std::shared_ptr meta, 在各个节点间流转。如果流程存在分支
例如Node1 --> Node2 -->Node4 Node1-->Node3-->Node4.
这种结构, Node2 Node3 可能同时获得meta数据,而每个节点内不仅对meta读取,还对写meta所指向对象vp_frame_meta的内容,包括添加新的处理结果。这种可能引起同时操作vp_frame_meta的情况。是否存在这种多线程安全的问题?