1
0
mirror of https://github.com/jaredtao/TaoQuick.git synced 2025-01-31 21:22:58 +08:00
2020-10-29 15:26:24 +08:00

20 lines
570 B
C++

#include "ThreadPool.h"
#include <QThreadPool>
namespace TaoCommon {
ThreadObject::ThreadObject(const WorkCallback &work) : m_workCall(work) {}
void ThreadObject::run()
{
bool ok = m_workCall();
emit readyResult(ok);
}
// workCall in sub thread, resultCall in main thread
void ThreadPool::work(const WorkCallback &workCall, const WorkResultCallback &resultCall)
{
ThreadObject *obj = new ThreadObject(workCall);
obj->setAutoDelete(true);
connect(obj, &ThreadObject::readyResult, this, resultCall);
QThreadPool::globalInstance()->start(obj);
}
}