Я ищу решение для планирования удаления объекта по потокам. Документы о том, как ведут себя deleteLater
, не совсем понятны. Можно ли вызвать эту функцию в потоке, который не является владельцем объекта?QObject :: deleteLater через QThread
Например, объект X принадлежит теме A, а в потоке B я хотел бы удалить объект X. Поскольку объект может находиться внутри обработки событий в данный момент (в Thread A), я не могу безопасно удалить его, пока он не вернется в цикл сообщения. Если я вызываю deleteLater
из Thread B, однако документы, похоже, указывают, что он удалит, как только Thread B вернется в цикл сообщений.
В настоящее время я использую подход, излучаемый в потоке А, который прикреплен к слоту, который вызывает deleteLater
. Мне интересно, есть ли более простой способ сделать это - если действительно, я могу просто позвонить deleteLater
из любого потока.
В Qt вы можете изменить, какой поток принадлежит объекту. Это поможет вам? – sashoalm
Вот как объект попадает в поток. –