У меня есть задача бегуна (что-то похожее на бегун аудрино). В функции запуска у меня есть следующий код. Когда я запускаю этот код, я обнаруживаю, что EModule::doRun()
вызывается только один раз. На самом деле я хочу, чтобы поток продолжал работать в фоновом режиме и установить флаг в downloadCompleted
. Как мне достичь этого? Нужно ли отключать нить?
m_downloadThread = std::thread(&EModule::doRun, this, true,
[this](bool value) {
this->setDownloadCompleted(value);
});
if (isDownloadCompleted()) {
completionFunc(m_downloadSpeed >= m_testThresholdInBps);
}