sherlockchou86 / VideoPipe

跨平台的视频结构化(视频分析)框架,觉得有帮助的请给个星星 : ) 。**VideoPipe下一版本正在开发中,在保证跨平台、易上手的前提下,预计性能直逼deepstream等各硬件平台官方框架**。
Apache License 2.0
1.16k stars 165 forks source link

是否存在数据流分支引起多线程安全问题? #36

Closed weinaike closed 4 months ago

weinaike commented 4 months ago

数据 std::shared_ptr meta, 在各个节点间流转。如果流程存在分支 例如Node1 --> Node2 -->Node4 Node1-->Node3-->Node4.
这种结构, Node2 Node3 可能同时获得meta数据,而每个节点内不仅对meta读取,还对写meta所指向对象vp_frame_meta的内容,包括添加新的处理结果。这种可能引起同时操作vp_frame_meta的情况。是否存在这种多线程安全的问题?

sherlockchou86 commented 4 months ago

这种结构,如果需要并行写入,需要使用深拷贝模式

weinaike commented 4 months ago

若需要对各分支结果汇总分析,框架该如何支持?

sherlockchou86 commented 2 months ago

若需要对各分支结果汇总分析,框架该如何支持?

参见 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