3
我不得不在後臺線程中執行一些繁重的代碼。我不想爲每個這樣的工作人員分類QThread。這是一種正確的方式嗎?在Qt後臺線程中定期執行一些lambda func的正確方法是什麼?
/* inside QObject subclass */
auto thread = new QThread(this);
auto timer = new QTimer(nullptr);
timer->moveToThread(thread);
timer->setInterval(1000);
connect(timer, &QTimer::timeout, [](){
/* do lambda work */
});
connect(thread, SIGNAL(started()), timer, SLOT(start()));
connect(thread, &QThread::destroyed, timer, &QTimer::deleteLater);
thread->start();
你應該在codereview中不要問這個問題 –