I am new to C++ and Qt and I am wondering what happens if I emit a signal
in object1
running in thread1
, to another object2
running in another thread2
and object2
is running an infinite loop for processing? Will the slot
in object2
never be called since the thread2
is busy running the loop?
I am new to C++ and Qt and I am wondering what happens if I emit a signal in object1 running in thread1, to another object2 running in another thread2 and object2 is running an infinite loop for processing? Will the slot in object2 never be called since the thread2 is busy running the loop?
Yes and no.
If you do not process events, then the thread will not chance to process the events, signals, and slots as you would expect.
However, you could make an event loop there that occasionally does process the events coming in, and then it would work as you expect it to.
My longer explanation than this is available here for people who would like to get more detailed information about the topic.