c ++ QThread и буст функции обратного вызова - PullRequest
1 голос
/ 10 августа 2010

Я хотел бы знать, есть ли какой-нибудь способ проверить правильность функции ускоренного обратного вызова.

Проблема выглядит следующим образом

класс А; класс B;

В функции инициализации класса A. выполняется следующее.

boost :: function call_back;

использование namespace boost :: lambda; call_back = bind (& A :: callback_after_preroduction, this, boost :: lambda :: _ 1);

Проблема заключается в том, что обратный вызов вызывается из QThread, и перед вызовом A :: callback_after_preparation из QThread, объект A удаляется из приложения (это один из вариантов использования в приложении)

Таким образом, приложение закрывается при доступе к объектам данных в A.

Есть ли способ проверить правильность функции call_back ??

Пожалуйста, ответьте

1 Ответ

0 голосов
/ 10 августа 2010

Вы действительно спрашиваете, существует ли какой-либо способ узнать, что определенный объект был удален, предположительно в другом потоке. Ваш код должен обрабатывать подобные вещи - в конце концов, именно ваш код выполнил удаление, установив какой-то флаг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...