I have one thread that writes results into a Queue.
In another thread (GUI), I periodically (in the IDLE event) check if there are results in the queue, like this:
If you're done writing to the queue, qsize should do the trick without needing to check the queue for each iteration.
responseList = [] for items in range(0, q.qsize()): responseList.append(q.get_nowait())