TaskId TaskQueue::addTask(TaskPtr task) { { QMutexLocker lock(&_tasksToProcessMutex); _tasksToProcess.push_back(task); } wakeThread(); return task->id(); }
TaskId TaskQueue::addTask(TaskPtr task) { { QMutexLocker lock(&_tasksToProcessMutex); _tasksToProcess.push_back(task); } if (!_thread) { _thread = new QThread(); _worker = new TaskQueueWorker(this); _worker->moveToThread(_thread); connect(this, SIGNAL(taskAdded()), _worker, SLOT(onTaskAdded())); connect(_worker, SIGNAL(taskProcessed()), this, SLOT(onTaskProcessed())); _thread->start(); } if (_stopTimer) _stopTimer->stop(); emit taskAdded(); return task->id(); }