task: improve threading

This commit is contained in:
itsmattkc
2022-11-07 10:42:41 -08:00
parent a6cafe59a5
commit 373717629e
5 changed files with 11 additions and 5 deletions
+3
View File
@@ -93,6 +93,7 @@ public slots:
bool Start()
{
start_time_ = QDateTime::currentMSecsSinceEpoch();
emit Started(start_time_);
bool ret = Run();
@@ -150,6 +151,8 @@ protected:
}
signals:
void Started(qint64 start_time);
/**
* @brief Signal emitted whenever progress is made
*
+3 -2
View File
@@ -29,6 +29,7 @@ TaskManager* TaskManager::instance_ = nullptr;
TaskManager::TaskManager()
{
thread_pool_.setMaxThreadCount(1);
}
TaskManager::~TaskManager()
@@ -95,9 +96,9 @@ void TaskManager::AddTask(Task* t)
// Run task concurrently
watcher->setFuture(
#if QT_VERSION_MAJOR >= 6
QtConcurrent::run(&Task::Start, t)
QtConcurrent::run(&thread_pool_, &Task::Start, t)
#else
QtConcurrent::run(t, &Task::Start)
QtConcurrent::run(&thread_pool_, t, &Task::Start)
#endif
);