我已经多次见过这种模式:QFutureWatcher观察者;观察者.setFuture(QtConcurrent::run([]{ … }));QEventLoop 循环;QObject::connect(&watcher,&decltype(watcher)::
我已经多次见过这种模式:
QFutureWatcher<void> watcher;
watcher.setFuture(QtConcurrent::run([]{ … }));
QEventLoop loop;
QObject::connect(&watcher, &decltype(watcher)::finished, &loop, &QEventLoop::quit);
loop.exec();
我想知道这是否安全,因为如果 qApp->quit();
退出此事件循环,之后的代码可能不会考虑到线程可能尚未完成。那么 QCoreApplication::quit 会退出本地事件循环吗?即使不退出,这种模式是否可以安全地序列化后台任务?
QCoreApplication::quit 是否退出本地事件循环?
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!