//#include "CameraThread.h"

//CameraThread::CameraThread(QObject *parent) : QThread(parent),running(true) {
    
//}

//CameraThread::~CameraThread() {
//    // 清理代码，例如停止线程、清除任务队列等
//    running.store( false); // 停止线程
//    if (isRunning()) {
//        wait(); // 等待线程结束
//    }
//}

//void CameraThread::addTask(const Task &task) {
//    // 将任务添加到队列中
//    std::lock_guard<std::mutex> lock(taskMutex);
//    taskQueue.push(std::move(task));
//    taskCondition.notify_one(); // 通知线程有新任务
//}
//// 重写QThread的run方法
//void CameraThread::run() {
//    while (running) {
//        std::unique_lock<std::mutex> lock(taskMutex); // 使用unique_lock管理锁
//        taskCondition.wait(lock, [this] { return !taskQueue.empty() || !running; });
//        if (!taskQueue.empty()) {
//            Task task = taskQueue.front();
//            taskQueue.pop();
//            lock.unlock(); // 解锁，以便在执行任务时其他线程可以操作队列
//            task();// 执行任务
//            lock.lock(); // 重新加锁
//        }
//    }
//}

