Удаление объекта из родительского потока после завершения потока объектаC++

Программы на C++. Форум разработчиков
Anonymous
Удаление объекта из родительского потока после завершения потока объекта

Сообщение Anonymous »

Код: Выделить всё

QThread testThr;
QObject* testObj = new QObject;

testObj->moveToThread(&testThr);

connect(&testThr, &QThread::started, [&]
{
// Do something
});
//connect(&testThr, &QThread::finished, testObj, &QObject::deleteLater);
testThr.start();

// Do something

testThr.quit();
testThr.wait();

// Do something with testObj

delete testObj; // Is this OK?
Я создаю новый Qobject и перемещаю его в недавно созданный поток, но мне все еще нужен этот объект после завершения его потока. Таким образом, я не хочу уничтожать его в недавно назначенном потоке, поэтому общий подход с Qobject :: deleteLater < /code> здесь не подходит.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... s-finished

Вернуться в «C++»