我有一个类,其成员函数是VideoCapture和VideoWrite。 我想运行两个线程来并行执行这两个过程。 我曾经观察到我们每次都需要创建一个类对象来运行不同的线程。 有没有办法不创建每次不同的类对象?
答案 0 :(得分:2)
您无法在两个不同的线程中运行类 - 通常是将类实例移动到线程中。你可能更擅长制作两个独立的类,一个读者/捕获类和一个编写者类,并将每个类放在他们自己的线程中...这非常简单有效。
如果您真的希望将课程保持在一起,则可以使用QtConcurrent来实现此目的 - 取决于您的课程如何工作。您可以在qtconcurrent中运行捕获/写入函数(或任何重处理器函数)来解决繁重的问题 - 而事件处理/事件循环可以在主线程中完成(或者甚至可以在单独的线程中完成将其完全移离主线程)。参见:
run member function qith QtConcurrent
和