У меня был класс, чьи функции-члены - VideoCapture и VideoWrite. Я хочу запустить два потока, чтобы выполнить два процесса параллельно. Я заметил, что нам нужно каждый раз создавать объект класса для запуска другого потока. Есть ли способ не создавать каждый раз другой объект класса?Как запустить два потока одного класса с использованием одного объекта с использованием QThread в cpp?
ответ
Вы не можете запустить класс в двух разных потоках - как правило, вы перемещаете экземпляр класса в поток. Вероятно, вам лучше сделать два отдельных класса, класс читателя/захвата и класс писателя и поместить каждый в свой собственный поток ... это довольно просто и эффективно.
Альтернатива, если вы действительно хотите сохранить класс вместе, вы можете использовать QtConcurrent для достижения этого - в зависимости от того, как работает ваш класс. Вы можете запускать свои функции захвата/записи (или любые тяжелые функции процессора) в qtconcurrent для фермы от тяжелой работы - в то время как обработка событий/цикл событий может выполняться только в основном потоке (или даже отдельном потоке для полностью отделите это от основной нити). См:
run member function qith QtConcurrent
и
- 1. Как выполнить многопоточность с использованием одного потока?
- 2. CSS Два класса с использованием одного свойства с несколькими настройками
- 3. Операция io с использованием одного и того же объекта потока
- 4. Возврат одного объекта с использованием ... в linq?
- 5. Как сравнить два объекта одного класса?
- 6. Как сравнить два объекта одного класса?
- 7. Завершение одного потока (looping) с использованием другого потока
- 8. Cocos2D: Два объекта одного класса сталкиваются?
- 9. Показать разные значения два объекта одного класса
- 10. Куб с использованием одного GL_TRIANGLE_STRIP
- 11. В golang, как перебираются два массива с использованием одного `range`
- 12. Binaryton - два экземпляра одного объекта
- 13. Сигнальный слот не работает с использованием QThread
- 14. Обновление динамического объекта (с использованием QThread) с C++ на QML
- 15. Как интегрировать два приложения с использованием одного знака на
- 16. Как запустить счетчик с использованием разрешения одного тактового импульса
- 17. с использованием varaible одного класса java для другого класса java
- 18. Quicksort с использованием одного контура
- 19. печать с использованием одного '\ n'
- 20. Передача одного объекта во многие классы с использованием Java
- 21. с использованием нескольких объектов mysqli или одного общего объекта
- 22. Сравнение двух списков объектов с использованием одного из атрибутов объекта
- 23. Как добавить два объекта одного класса в Ruby?
- 24. Не удалось запустить более одного потока сервера
- 25. Как запустить два потока с помощью python?
- 26. Заполнение JTable с использованием одного объекта в строке
- 27. два элемента одного класса в selenium webdriver
- 28. Передача массива объекта класса с использованием намерения
- 29. Как проверить, наследуются ли два объекта от одного базового класса?
- 30. Установка двух apk с использованием одного apk