Qt Threading and Concurrency


A few notes that are already mentioned in the official docs here and here:

  • If an object has a parent, it has to be in the same thread as the parent, i.e. it cannot be moved to a new thread, nor can you set a parent to an object if the parent and the object live in different threads
  • When an object is moved to a new thread, all of its children are also moved to the new thread
  • You can only push objects to a new thread. You cannot pull them to a new thread, i.e. you can only call moveToThread from the thread where the object is currently living in