task: improve threading
This commit is contained in:
@@ -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
|
||||
*
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user