我正在编写自定义视频格式(QTC)的de和编码器。解码过程由多个阶段组成,每个阶段的输出传递到下一阶段:
第三步和第四步占据了几乎所有的处理时间,第三步约占35%,第四步约占60%,第一步和最后一步相当微不足道。
并行运行这四个步骤的建议和思路是什么?我最感兴趣的是如何处理各部件之间的通信。我计划在第二步使用一个Goroutine,在第三步使用一个,例程与缓冲通道连接。这是正确的方法吗?
答案 0 :(得分:3)
对于某些具有“共享”数据结构的任务,通过谨慎使用mutexes来“保护”更容易,但缓冲通道将是在Go中执行此操作的“标准”方式,并且对于您的任务而言也是正确的解决方案。
你问这个问题,你是否遇到过任何问题?
答案 1 :(得分:0)
不要过度思考。只需编写一些代码。 Go代码很容易改变 - 编译器抓住你的手。写一些测试/基准来保持自己的诚实。
亚历