gpt4 book ai didi

c++ - 基于 Qt 的 CD 开膛手的线程构建 block (TBB)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:16 26 4
gpt4 key购买 nike

我正在用 C++ 和 Qt 构建一个 CD 抓取器应用程序。我想并行化应用程序,以便可以同时对多个轨道进行编码。因此,我以这样的方式构建了应用程序,即编码轨道是一项“任务”,并且我正在研究一种机制来同时运行一些这些任务。当然,我可以使用线程完成此任务并编写自己的任务队列或工作管理器,但我认为英特尔的线程构建模块 (TBB) 可能是完成这项工作的更好工具。不过,我有几个问题。

  1. 将 WAV 文件编码为 FLAC、Ogg Vorbis 或 Mp3 文件是否可以作为 tbb::task 正常工作?教程文档指出“如果线程频繁阻塞,则使用任务调度程序时会出现性能损失”。我不认为我的编码任务会经常阻塞互斥体,但需要相对频繁地访问磁盘,因为它们必须从磁盘读取 WAV 数据才能进行编码。从本教程描述的意义上讲,这种级别的磁盘事件是否存在问题?
  2. TBB 与 Qt 配合得好吗?使用 Qt 线程时,可以跨线程透明地使用 Qt 的信号/槽机制。如果我使用 tbb::tasks 而不是 Qt 线程,情况会一样吗?还会有其他“问题”吗?

感谢您提供的任何见解。

最佳答案

为什么不使用 Qt Concurrent

关于c++ - 基于 Qt 的 CD 开膛手的线程构建 block (TBB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1113578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com