у меня есть нить (рабочий большой), что метод вызова в объекте singletone так:Если я вызываю QMetaObject :: invokeMethod из потока в singleletone, то invokation все еще находится в этом qthread?
bool bInvokeUpdate= QMetaObject::invokeMethod(ApiManager::getInstance(),
"updateMainWindowTree",
Qt::BlockingQueuedConnection,
Q_RETURN_ARG(bool, bReturnUpdate))
;
im using Qt :: BlockingQueuedConnection, так что я могу продолжить работу с нитью, основанную на значении bool .. любым способом Мой вопрос - это доза этого вызова остается в теме? или это приводит к тому, что метод должен быть предварительно сформирован в основном потоке?
, когда я отлаживаю приложение, когда им в потоке я вижу в отладчике, что im в потоке id xxxx , но когда я установил точку останова в методе updateMainWindowTree, я вижу, как он прыгает на mainthread. , так что это значит, что я продолжаю ссылаться на функции из основного потока? как я могу избежать этого?
Что такое ApiManager и где он находится? –
его глобальный объект, который дает API-функцию, не связанную с графическим интерфейсом или что-то подобное, но дозу, вызванную из потока GUI, также – user63898