Quote Originally Posted by Cruz View Post
I don't see what a mutex would do in this case. Only the thread writes to the QList. The visualizer only reads it and never changes it. So the only problem can be if the visualizer tries to access excactly the same index in the QList that is written by the loader. After the loader has completed filling the QList with frames, and doesn't touch it anymore, how can it be that there are still some frames screwed up and what would a mutex do about it?
Operations on items are not atomic. One thread can partially write the data and the other thread might already try to access this bogus data. You could get a nice effect in a situation when there is a pointer in an object that should be pointing to some data but before the pointer gets initialized another thread reads it and tries to dereference it.

You may use a QReadWriteLock instead of a plain mutex but if you only have two threads then both these mechanisms will be equivalent.