Szukałem kodu źródłowego, nad którym pracuję. Znalazłem dziwne stwierdzenie, że ktoś kodował. Kod źródłowy to aplikacja GUI z GUI QML i używa QT 4.7.x.Klasa oparta na QObject ma ustawione w kolejce połączenie z samym sobą
Poniższy fragment należy do głównej logiki aplikacji.
// connect signal-slots for decoupling
QObject::connect (this, SIGNAL(setCurrentTaskSignal(int)), this,
SLOT(SetCurrentTaskSlot(int)), Qt::QueuedConnection);
To dziwne, że obiekt łączy się sama poprzez kolejce związku, który w istocie oznacza, że obiekt może „na żywo” w różnych wątków w tym samym czasie?
Na pierwszy rzut oka nie miało to dla mnie żadnego sensu. Czy ktokolwiek może pomyśleć o jakiejkolwiek przyczynie, dla której takie połączenie byłoby wiarygodne lub potrzebne? Czy to nawet zadziała?
Ma sens. Wciąż patrzę na rzeczy otaczające kod. Więc wrócę, gdy tylko będzie jasne, co się dzieje. –
Wygląda więc na to, że podczas wykonywania niektórych obliczeń emitowany jest sygnał zmiany zadania i że "zmiana" nie powinna nastąpić natychmiast, ale po wykonaniu bieżącego przepływu i wznowieniu przetwarzania zdarzenia. –